【Jsp精品源码栏目提醒】:网学会员Jsp精品源码为您提供【精品】JavaWeb_03 - 其它资料参考,解决您在【精品】JavaWeb_03 - 其它资料学习中工作中的难题,参考学习。
第3章 Servlet 会话跟踪及Filter 回顾 Servlet 的生命周期 Servlet处理流程 自定义Servlet的实现 本章任务使用session实现必须在登录后方可答卷 本章目标理解 会话跟踪掌握 Cookie和Session掌握 ServletContext 和服务器端转向的实现掌握 Filter的开发 预备知识掌握自定义Servlet的开发 HTTP特征 HTTP协议是一种无状态的协议,客户端每次打开一个Web 页面,它就会与服务器建立一个新的连接,发送一个新的请求到服务器,服务器处理客户端的请求,返回响应到客户端,并关闭与客户端建立的连接。
当客户端发起新的请求,那么它重新与服务器建立连接,因此服务器并不记录关于客户的任何信息。
会话跟踪常见会话跟踪技术有: Cookie URL重写 隐藏表单域 Cookie Cookie是Web服务器发送至浏览器,以后可从该浏览器上读回的少量信息。
浏览器收到Cookie后,在每次访问服务器上的页面时都会将其发送回服务器。
由于Cookie的值可以方便地标识客户端,因此Cookie通常用于会话跟踪。
Cookie使用 Cookie进行程序开发的基本步骤是:(1)获取当前请求中的所有Cookie(2)遍历所有Cookie找到所需的,进行处理 如果找不到,可以新建一个Cookie的实 例,保存到客户端(3)Cookie有其有效期,超过有效期,则失 效 Cookie 的使用Cookie cookies req.getCookies//利用客户端浏览器的Cookie 来存放客户最后一次访问的时间Cookie cookie nullifcookies null for int i 0 i cookies.length i Cookie c cookiesi //输出 out.printlnc.getName c.getValue ifc.getName.equals“LastAccessTime” //找到自己感兴趣的Cookie cookie cookiesi //判断 cookie 是否为空ifcookie null out.println最近无访问记录 //说明没有记录 cookie new CookieLastAccessTime //设置值 cookie.setValuenew DateSystem.currentTimeMillis.toString cookie.setMaxAge7246060 //最长七日 resp.addCookiecookie else out.println您最近访问的时间是:cookie.getValue 会话HttpSession 接口允许 Servlet查看和管理关于会话的信息,确保信息持续跨越多个用户连接等。
HttpSession高级接口实际上是建立在 Cookie和 URL重写这两种会话跟踪技术之上的,只不过由Servlet自动实现了关于会话跟踪的一切,不再需要程序员了解具体细节。
会话使用 HttpSession 接口进行程序开发的基本步骤是:(1)获取会话对象(2)对会话对象进行读或写(3)手工终止会话,或者什么也不做,让它 自动终止。
每个会话对象都有一定的生 存周期,超过这个周期,容器将自动将 会话对象中止。
上下文对象 服务器上的每个Web应用都会有一个背景环境对象。
上下文对象提供了一个同一Web应用内的不同资源间共享信息的场所。
Javax.Servlet.ServletContext接口提供正在运行的Servlet所处的Web应用程序的上下文对象的视图,可以通过getServletContext方法得到该Servlet运行的上下文对象。
上下文对象通过Servlet 上下文可以实现以下功能:(1)访问Web应用程序资源(2)在Servlet上下文属性中保存Web应用程序 信息(3)获取初始化参数信息 请求转发请求转发:在一个Servlet处理完毕后,将客户端的请求传递到另外一个Servlet来处理。
请求的转发通过Requestdispatcher的forward方法实现Code:RequestDispatcher rd request.getRequestDispatcherpathrd.forwardreqresp 转发请求到另一资源或rd.includereqresp 包含另一资源 过滤器一个Filter 必须实现javax.Servlet.Filter 接口,即 实现下面的三个方法:(1)doFilterServletRequest ServletResponse FilterChain。
用来实现过滤 行为的方法。
引入的 FilterChain 对象提供了后 续Filter所要调用的信息。
(2)initFilterConfig。
(3)destroy。
Filters in J2EE Web Application 过滤器Filter主要用在以下几个方面 :(1)访问特定资源Web 页、
JSP 页、 Servlet时的身份验证。
(2)访问资源的记录跟踪。
与Servlet类似,Filter也要在web.xml中配置实现对特定资源的过滤。
Filter 与 ServletFilter 生命周期