郭珍霓喂奶:Servlet面试题

来源:百度文库 编辑:九乡新闻网 时间:2024/05/04 23:13:02
 

78、什么情况下调用doGet()doPost()

答:Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()

79servlet的生命周期。

答:web容器加载servlet,生命周期开始。通过调用servletinit()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do***()方法。结束服务,web容器调用servletdestroy()方法。

80、如何现实servlet的单线程模式。

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

81、页面间对象传递的方法。

答:requestsessionapplicationcookie

82JSPServlet有哪些相同点和不同点,他们之间的联系是什么?

答:JSPServlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"servlet"

ServletJSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是JavaHTML可以组合成一个扩展名为.jsp的文件。

JSP侧重于视图,Servlet主要用于控制逻辑。

83、四种会话跟踪技术。

答:会话作用域Servlets JSP 页面描述

page否是代表与一个页面相关的对象和属性。一个页面由一个编译好的 Java servlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示。这既包括 servlet 又包括被编译成 servlet JSP 页面。

request是代表与 Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)。

session是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常会跨越多个客户机请求

application是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域。

84Request对象的主要方法。

答: setAttribute(String name,Object)设置名字为namerequest的参数值

getAttribute(String name)返回由name指定的属性值

getAttributeNames()返回request对象所有属性的名字集合,结果是一个枚举的实例

getCookies()返回客户端的所有Cookie对象,结果是一个Cookie数组

getCharacterEncoding()返回请求中的字符编码方式

getContentLength()返回请求的Body的长度

getHeader(String name)获得HTTP协议定义的文件头信息

getHeaders(String name)返回指定名字的requestHeader的所有值,结果是一个枚举的实例

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)删除请求中的一个属性

85、我们在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;   

}

86Servlet执行时一般实现哪几个方法?

答: public void init(ServletConfig config)

public ServletConfig getServletConfig()

public String getServletInfo()

public void service(ServletRequest request,ServletResponse response)

public void destroy()