1、如何现实 servlet 的单线程模式?

答:<%@ page isThreadSafe="false"%>

2、页面间对象传递的方法. 答:request,session,application,cookie 等
3、JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么? 答: JSP 是 Servlet 技术的扩展,本质上是 Servlet 的简易方式,更强调应用的外表表达。 JSP 编译后是"类 servlet"。 Servlet和 JSP 最主要的不同点在于,Servlet 的应用逻辑是在 Java 文件中, 并且完全从表示层中的 HTML 里分离开来。 而 JSP的情况是 Java 和 HTML 可以组合成一个扩展名为.jsp 的文件。JSP 侧重于视图,Servlet 主要用于控制逻辑。
4、Request 对象的主要方法. 答: setAttribute(String name,Object):设置名字为 name 的 request 的参数值 getAttribute(String name):返回由 name 指定的属性值 getAttributeNames():返回 request 对象所有属性的名字集合,结果是一个枚举的实例 getCookies():返回客户端的所有 Cookie 对象,结果是一个 Cookie 数组 getCharacterEncoding():返回请求中的字符编码方式 getContentLength():返回请求的 Body 的长度 getHeader(String name):获得 HTTP 协议定义的文件头信息 getHeaders(String name):返回指定名字的 request Header 的所有值,结果是一个枚举的实例 getHeaderNames():返回所以 request Header 的名字,结果是一个枚举的实例 getInputStream():返回请求的输入流,用于获得请求中的数据 getMethod():获得客户端向服务器端传送数据的方法 getParameter(String name):获得客户端传送给服务器端的有 name 指定的参数值 getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例 getParameterValues(String name):获得有 name 指定的参数的所有值 getProtocol():获取客户端向服务器端传送数据所依据的协议名称 getQueryString():获得查询字符串 getRequestURI():获取发出请求字符串的客户端地址 getRemoteAddr():获取客户端的 IP 地址 getRemoteHost():获取客户端的名字 getSession([Boolean create]):返回和请求相关 Session getServerName():获取服务器的名字 getServletPath():获取客户端所请求的脚本文件的路径 getServerPort():获取服务器的端口号 removeAttribute(String name):删除请求中的一个属性
5、我们在 web 应用开发过程中经常遇到输出某种编码的字符,如 iso8859-1 等,如何输出一个某种编码的字符串? 答: Public String translate (String str) { String tempStr = ""; try { tempStr = new String(str.getBytes("ISO-8859-1"), "GBK"); tempStr = tempStr.trim(); } catch (Exception e) { System.err.println(e.getMessage()); } return tempStr; }
6、Servlet 执行时一般实现哪几个方法? public void init(ServletConfig config) public ServletConfig getServletConfig() public String getServletInfo() public void service(ServletRequest request,ServletResponse response) public void destroy()
7、Class.forName 的作用?为什么要用? 答:调用该访问返回一个以字符串指定类名的类的对象。
8、xml 有哪些解析技术?区别是什么? 答:有 DOM,SAX,STAX 等. DOM:处理大型文件时其性能下降的非常厉害。 这个问题是由 DOM 的树结构所造成的,这种结构占用的内存较多,而且 DOM 必须在解析文件之前把整个文档装入内存,适合对 XML 的随机访问。 SAX:不同于 DOM,SAX 是事件驱动型的XML 解析方式。它顺序读取 XML 文件,不需要一次全部装载整个文件。 当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理 XML 文件, 适合对 XML 的顺序访问。 STAX:Streaming API for XML (StAX)
9、你在项目中用到了 xml 技术的哪些方面?如何实现的? 答:用到了数据存贮,信息配置两方面。 在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者, 接收解密与解压缩后再同XML文件中还原相关信息进行处理。 在做软件配置时,利用 XML 可以很方便的进行,软件的各种配置参数都存贮在 XML 文件中。
10、XML 文档定义有几种形式?它们之间有何本质区别?解析 XML 文档有哪几种方式? 答: a: 两种形式 dtd schema, b: 本质区别:schema本身是 xml的, 可以被 XML解析器解析(这也是从 DTD上发展 schema的根本目的), c:有 DOM,SAX,STAX 等 DOM:处理大型文件时其性能下降的非常厉害。 这个问题是由 DOM 的树结构所造成的,这种结构占用的内存较多,而且 DOM 必须在解析文件之前把整个文档装入内存, 适合对 XML 的随机访问。 SAX:不同于DOM,SAX是事件驱动型的XML解析方式。 它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件, 用户通过在其回调事件中写入处理代码来处理 XML 文件,适合对 XML 的顺序访问。 STAX:Streaming API for XML (StAX)



联系我们 | 友情链接