1.描述Servlet,Servlet如何响应客户端请求?
2.描述request对象
3.描述response对象
4.描述get与post请求的区别
5.描述Session对象
6.描述Servlet生命周期
7.在一个程序中有如下web.xml的配置,描述他们的作用
<servlet>
<!--请描述1-->
<servlet-name>firstServlet</servlet-name>
<!--请描述2-->
<servlet-class>cn.com.servlet.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<!--请描述3-->
<servlet-name>firstServlet</servlet-name>
<!--请描述4-->
<url-pattern>/testlink</url-pattern>
</servlet-mapping>
8.描述MVC中各个角色的对应组建
M:Model,即( ),对应( )
V:View,即( ),对应( )
C:Controller,即( ),对应( )
9.描述Filter类的作用
过滤器是向 Web 应用程序的请求和响应处理添加功能的 Web 服务组件
10.描述Listener类的作用
11.描述下列表达式语言内置对象的作用
|-pageScope:使用范围,当前页面
|-sessionScope:使用范围,当前会话
|-requestScope:使用范围,当前请求
|-applicationScope:使用范围,服务器启动到结束
|-param:获取属性值
|-paramValues:获取属性数组的值
12.描述下列核心标签及其属性
<c:if test="testCondition" var="varName" [scope="{page|request|session|application}"]/>
|-这个标签是做什么的:
|-test:如果表达式的结果为true,则执行本体内容,false则相反
|-var:用来储存test运算后的结果,即true或false
|-scope:var变量的JSP范围
<c:set value="value" var="varName" [scope="{ page|request|session|application }"]/>
|-这个标签是做什么的:
|-value:要被储存的值
|-var:欲存入的变量名称
|-scope:var变量的JSP范围
<c:forEach var=" " begin=" " end=" " step=" ">
|-这个标签是做什么的:
|-var:
|-begin:
|-end:
|-step:
13.写出常用解决中文乱码方式的代码(HttpServletRequest,HttpServletResponse)
request.setCharacterEncoding("gb2312");
response.setCharacterEncoding("gb2312");
14.forward和sendRedirect异同
forward只能将请求转发给同一个Web应用中的组件;sendRedirect可以定向到应用程序外的其他资源。
forward方法重定向后URL不会改变;sendRedirect方法的URL会改变。
forward方法在服务器端内部将请求转发给另一个资源,浏览器只知道发出请求并得到相应结果,并不知在服务器内部发生的转发行为。sendRedirect对浏览器的请求直接作出响应,响应的结果告诉浏览器重新发出对另外一个URL的访问请求。
forward方法的调用者与被调用者之间共享相同的request、response对象;HttpservletResponse.sendRedirect方法调用者和被调用者使用各自的request、response对象。
forward适用于一次请求响应过程由Web程序内部的多个资源来协同完成,需要在同一个Web程序内部资源之间跳转,使用HttpServletRequest.setAttribute方法将预处理结果传递给下一个资源。sendRedirect告诉浏览器重新发出对另外一个URL的访问请求,此时HttpServletRequest.setAttribute方法就不能将预处理结果传递给下一个资源。