Servlet面试核心知识点
如何定义一个实用性的Servlet?
public MyServlet implements HttpServlet{ @Overried public void service(HttpServletRequest request,HttpServletResponse response){ } }
如何在web.xml中书写Servlet对应的标签结构?
<servlet> <servlet-name>Servlet名</servlet-name> <servlet-class>访问实际类</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet名</servlet-name> <url-pattern>/url<url-pattern>
如何处理get请求的乱码?
修改apache-tomcat-6.0.37\conf\server.xml文件: 为<Connector>标签添加URIEncoding属性。
如何完成页面跳转?
1.转发(forward) request.getRequestDispatcher("url-pattern 目标资源").forward(request,response); 一次请求,在服务器内部进行跳转,一个Action跳转到另外一个Action中去,能request作用域数据 2.重定向(redirect): response.sendRedirect("项目名/url-pattern 目标资源"); 两次请求,服务器内部跳转到页面,地址栏改变,只能通过地址栏传递少量(4kb)数据
什么是Filter?
与Servlet类似,执行地位在Servlet之前。 请求时,会先经过Filter再经过Servlet中; 响应时,会根据执行流程再次反向执行Filter,再到达客户端
如何定义Filter?
public UrlFilter implements Filter{ //doFilter核心拦截方法 public void doFilter (ServletRequest request,ServletResponse response,FilterChain chain){ //允许调用链继续 chain.doFilter(request,response); } }
如何在web.xml中书写Filter对应的标签结构?
<filter> <filter-name></filter-name> <filter-class>/过滤器</filter-class> </filter> <filter-mapping> <filter-name><filter-name> <url-pattern>/被拦截的servlet<url-pattern> </filter-mapping>
Filter可以解决什么问题?
可以解决多个Servlet共性代码冗余问题(乱码处理,强制用户登录)
什么是监听器?
监听某种特性事件,一旦发生就会触发监听器执行某种任务
什么是HttpSessionListener?
监听HttpSession的创建和销毁
如何定义HttpSessionListener?