JSP和Servlet练习题

1、 请简单描述访问一个JSP页面时的执行流程?
访问一个JSP页面时,首先服务器将JSP文件翻译成Java文件,然后把Java文件编译成class文件。服务器实例化该类对象,接收客户端的请求数据,调用类中的_jspService方法提供服务,将响应结果以html形式返回给客户端进行显示。

2、 简要说明Servlet和JSP之间跳转有哪两种方式?有什么区别?
有两种跳转方式,一种是响应重定向,即调用响应接口的sendRedirect方法,一种是请求转发,即调用请求转发器的forward方法。其中响应重定向相当于重新发出一次请求,之前的请求对象不会发到下一个资源;请求转发会于当前的请求对象转发到下一个资源,实际中请求转发使用较多。

3、 简要说明如果要在请求范围内共享数据,如何实现?
可以使用请求属性实现。请求接口中有setAttribute方法,可以将任何类型对象作为属性存储,同时提供方法getAttribute可以读取请求属性。往往会在一个组件中存属性,在另一个组件中获取使用属性,那么二者跳转的时候一定要用请求转发跳转,否则将生成一个新的请求对象,就无法获取之前存储的属性。

4、 简要说明Servlet和JSP分别有什么作用?
JSP的本质就是Servlet,JSP和Servlet都可以生成动态页面。然而,Servlet生成动态页面比较复杂,不管静态还是动态的内容都需要用代码输出。JSP相对简单很多,JSP中静态内容使用HTML及文本即可,只有动态 内容使用Java代码生成。Servlet往往用来接收JSP的请求,获取请求数据,进行业务处理。

5、 请描述Servlet的线程特性。
第一次访问Servlet时,服务器将创建一个该Servlet类的对象,并调用doXXX方法生成响应;多个客户端访问同一个Servlet时,不再创建新的对象,而是共用同一个Servlet对象。可以说,Servlet是多线程单实例的。

6、 C/S结构应用和B/S结构应用有什么不同?
C/S结构是Client/Server(客户机/服务器)的简称,桌面应用程序采用的多是这种结构;B/S结构是Browser/Server(浏览器/服务器)的简称,特点是客户端无需安装特定的软件,只需要安装一个浏览器就可以与系统进行交互。C/S需要安装客户端软件,但是操作往往更为便捷;B/S不需要安装客户端软件,但是用户体验往往不如C/S好,安全性也较C/S要低。

7、 假设有一个Servlet类FirstServlet,简单描述当通过浏览器访问该Servlet时,该Servlet的生命周期情况。
(1)Tomcat调用FirstServlet的构造方法,创建该类的对象;
(2)Tomcat调用JavaEE API中的初始化方法:先调用有参数的init方法,再调用无参的
(3)init方法,进行初始化工作;
(4)初始化成功后,调用service服务方法,通过判断请求方式,调用相应的doXXX方法,如doGet、doPost等方法;
(5)doXXX方法正常返回后,即提供服务结束;
8、列出JSP中的九个内置对象。
request、response、session、application、page、out、pageContext、exception、config

9、include标准动作与include指令的区别。
都是实现包含其他页面的功能;include标准动作的属性是page,实现动态包含,发生在请求阶段;include指令的属性是file,实现静态包含,发生在翻译阶段。

1、 从地址栏输入URL直接访问Servlet,将调用Servlet中的哪个方法生成响应?(C)
A、 doPut
B、 doURL
C、 doGet
D、 doPost
2、 请问以下哪个选项是正确的脚本元素?(A )
A、<% int x;%>
B、<% private int x;%>
C、<%=x%>
D、 <%=x;%>
3、请问以下哪个选项是正确的表达式元素?(C )
A、<% int x;%>
B、<% private int x;%>
C、<%=x%>
D、<%=x;%>
4、请问以下哪个选项是JSP的内置对象?(D )
A、Request
B、req
C、HttpServletRequest
D、request
5、通过HTML中超级链接访问Servlet,将调用Servlet中的哪个方法生成响应?(C)
A、 doPut
B、 doURL
C、 doGet
D、 doPost
6、 通过HTML中表单提交访问Servlet,表单没有定义method属性值,将调用Servlet中的哪个方法生成响应?(C)
A、 doPut
B、 doURL
C、 doGet
D、 doPost
7、 通过HTML中表单提交访问Servlet,表单method属性值为post,将调用Servlet中的哪个方法生成响应?(D)
A、 doPut
B、 doURL
C、 doGet
D、 doPost
8、 请求接口中哪个方法可以获取客户端提交的请求参数的值?(B)
A、 getParams
B、 getParameter
C、 getValue
D、 getRequestParams
9、 如果客户端通过复选框选择了多个选项,请求接口中哪个方法可以获取所有选项的值(D)
A、 getAllParams
B、 getParameters
C、 getAllValue
D、 getParameterValues
10、web.xml存在哪个目录下?(A)
A、WEB-INF
B、src
C、lib
D、任意目录下
11、web.xml的根元素是哪个?(B)
A、
B、
C、
D、
12、自定义Servlet类往往直接继承哪个父类?(A)
A、HttpServlet
B、GenericServlet
C、Servlet
D、ServletConfig
13、内置对象config是什么类型的?(B)
A、JspConfig
B、ServletConfig
C、Config
D、Configure

你可能感兴趣的:(Servlet,JSP——tomcat服务器)