当前位置:文档之家› 最新Servlet面试题

最新Servlet面试题

1.销毁一个session对象,应当调用下面哪一个方法()A. session.invalidate()B. session.expunge()C. session.destroy()D. session.end()2.以下哪个说法是正确的?(多选)( )A. 每个Http请求对应一个单独的ActionServlet实例B. 对于每个请求访问HelloAction的Http请求,struts框架只创建一个单独的HelloAction实例C. 每个子应用对应一个单独的RequestProcessor实例D. 每个子应用对应一个单独的web.xml文件3. 在J2EE中,Servlet从实例化到消亡是一个生命周期。

下列描述不正确的是()。

A. 在典型的Servlet生命周期模型中,每次Web请求就会创建一个Servlet实例,请求结束 Servlet就消亡了B. init()方法是容器调用的Servlet实例的第一个方法C. 在包容器把请求传送给Servlet之后,和在调用Servlet实例的doGet或者doPost方法之前,包容器不会调用Servlet实例的其他方法D. 在Servlet实例消亡之前,包容器调用Servlet实例的destroy()方法4. 编写Servlet 的doPost方法时,需要抛出异常为()。

A. ServletException, IOExceptionB. ServletException, RemoteExceptionC. HttpServletException, IOExceptionD. HttpServletException, RemoteException5. 在Servlet里,能实现重定向的两个方法是()。

A. 运用javax.servlet.http.HttpServletRequest接口的sendRedirect方法B. 运用javax.servlet.http.HttpServletResponse接口的sendRedirect方法C. 运用javax.servlet.RequestDispatcher接口的forward方法D. 运用javax.servlet.ResponseDispatcher接口的forward方法6. HTTP协议的全称是()。

A. Hyper Transport Text ProtocolB. Hyper text Transport ProtocolC. Hyper Transfer Text ProtocolD. Hyper text Transfer Protocol7. MVC设计模式包含模型层、视图层和控制器层,在下列组件中扮演控制器角色的是()。

A. ServletB. JSPC. JavaBeanD. HTML8. 在javax.servlet.http.*API中,HttpServlet的()方法用来处理客户端的请求。

A. Init()B. doPost()C. doGet()D. destroy()9. 在JavaEE中,HttpServletRequest对象是由()创建的。

A. 由Servlet容器负责创建,对于每个HTTP请求,Servlet容器都会创建一个HttpServletRequest对象B. 由JavaWeb应用的Servlet或JSP组件负责创建,当Servlet或JSP组件响应HTTP请求时,先创建HttpServletRequest对象C. 由程序员通过编码形式创建,以传递请求数据D. 以上都不对10. HttpServlet中,用来处理GET请求的方法是。

( )A. doHeadB. doGetC. doPostD. doPut11. 下面哪一个标记与Servlet的配置无关 ( )A. servlet-mappingB. servlet-classC. url-patternD. Tag12. 用于调用存储过程的对象是。

( )A. ResultSetB. DriverManagerC. CallableStatemetD. PreparedStatement13. 在Servlet处理请求的方式为。

( )A. 以进程的方式B. 以程序的方式C. 以线程的方式D. 以响应的方式14. 从以下哪一个选项中可以获得Servlet的初始化参数。

( )A. ServletB. ServletContextC. ServletConfigD. GenericServlet15. 在J2EE中,对于在Servlet如何获得会话,描述正确的是()。

(选择两项)A. HttpServletRequest类的getSession方法有两个:带参数的getSession方法和不带参数的getSession方法B. 在servlet中,可以使用HttpSession session =new HttpSession()创建s ession对象C. 如果HttpServletRequest类的getSession方法的参数为false,表示如果没有与当前的请求相联系的会话对象时,该方法返回nullD. 如果HttpServletRequest类的getSession方法的参数为true,表示如果没有与当前的请求相联系的会话对象时,该方法返回null16. 在J2EE中,对于HttpServlet类的描述,不正确的是 ( ).A. 我们自己编写的Servlet继承了HttpServlet类,一般只需覆盖doPost或者doGet方法,不必覆盖sevrvice( )方法.因为一个sevrvice( )方法是空的B. HttpServlet类扩展了GenericServlet类,实现了GenericServlet类的抽象方法sevrvice( )C. HttpServlet类有两个sevrvice( )方法D. 我们自己编写的Servlet继承了HttpServlet类,一般只需覆盖doPost或者doGet方法,不必覆盖sevrvice( )方法.因为一个sevrvice( )方法会调用doPo st或者doGet方法17. 对于自己编写的Servlet1,以下对Servlet1的定义正确的是: ( )A. class Servlet1 implements javax.servlet.ServletB. class Servlet1 extends javax.servlet.GenericServletC. class Servlet1 extends javax.servlet.http.HttpServletD. class Servlet1 extends javax.servlet.ServletRequest18. 使用哪个方法,可以查看到用户在浏览html文件时选择的所有值。

( )A. getParameterValues方法B. getParameter方法C. getQueryString方法D. getAttribute方法19. 在Java Web应用程序中,给定某Servlet程序的代码如下所示:public class Servlet1 extends HttpServlet{public void doGet(HttpServletRequest request,HttpServletResponse resp onse)throws ServletException,IOException{System.out.printIn(“get”);}public void doPost(HttpServletRequest request,Http ServletResponse re sponse)throws ServletException,IOException{System.out.printIn(“post”);doGet(request,response);}}用户在浏览器地址栏中键入正确的请求URL并回车后,在控制台上显示的结果是()。

A. getB. postC. get postD.post get20. 在Java Web应用程序中,包含两个名为Servlet1和Servlet2的HttpServ let,在web.xml中指定Servlet2的访问路径为“/Servlet2”,Servlet1的d oGet方法中的代码为:PrintWriter out = response.getWriter();out.print (“Servlet”);RequestDispatcher dispatcher = request.getRequestDispatcher(“/servle t2”);dispatcher.forward(request,response);out.close();Servlet2的doGet方法中的代码为:PrintWriter out = response.getWriter();out.print(“Servlet2”);out.close();如果用户在浏览器中访问Servlet1,则浏览器将()。

A. 显示“Servlet1”B. 显示“Servlet2”C. 显示“Servlet1 Servlet2”D. 什么也不显示二、填空题1. 如何实现servlet 的单线程模式?<%@ page isThreadSafe=”false” %>2. 页面间对象传递的方法为:request,session,application,cookie3. 编写Servlet通常需要实现的两个方法是:doGet、doPost4. Class.forName的作用是:5. 两种跳转方式分别是:forward跳转和response跳转。

6. 对提交到同一个servlet类的多个业务请求,共享1个servlet对象。

三、问答题1.说一说Servlet的生命周期web容器加载servlet,生命周期开始。

通过调用servlet的init()方法进行s ervlet的初始化。

通过调用service()方法实现,根据请求的不同调用不同的d o***()方法。

结束服务,web容器调用servlet的destroy()方法。

2.Servlet的基本架构所有的Servlet都必须要实现的核心的接口是javax.servlet.Servlet。

每一个Servlet都必须要直接或者是间接实现这个接口,或者是继乘javax.servlet.GenericServlet或者javax.servlet.http.HTTPServlet。

相关主题