Servlet程序设计.ppt

* * 创建了一个名为login的cookie之后,可通过很多现有的方法设置cookie的值和属性 可通过如下语句设置cookie的注释: login.setComent(“You can get UserName form this cookie”); 创建cookie并将它发送到浏览器后,默认情况下,它是会话级的cookie,仅仅存储在浏览器内存中,用户退出浏览器后,cookie将被删除;如果希望将cookie存储在磁盘上,则需要设定MaxAge,给出一个以秒为单位的生命周期,如下可以将生命设置为一天 login.setMaxAge(60*60*24) // one day setPath(),setValue(),setVersion(),setDomain(),setSecure()等,相关的具体用法请查看servlet API 11.5.1 使用Cookie(续) ——设置Cookie属性 客户端跟踪 * 刚创建的cookie存在于服务器内存中。必须将它发送到客户端,cookie才能真正的发挥作用。发送cookie需要使用HttpServletResponse的addCookie方法,将cookie插入到一个HTTP响应报头。发送的语句如下 public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { Cookie login = new Cookie(“UserName”, ”John”); login.setComent(“You can get UserName form this cookie”); res.addCookie(login); //... } 客户端跟踪 11.5.1 使用Cookie(续) ——发送Cookie到客户端 * 从客户端读取你感兴趣的cookie,需要两个步骤 首先调用request.getCookies得到一个Cookie对象的数组 然后调用每个cookie的getName方法,从数组中寻找所需的cookie String nameString = “UserName” Cookie[] cookies = request.getCookies(); for ( int i=0; icookies.length; i++) { Cookie cookie = cookies[i]; if (nameString.equals( cookie.getName()) ) { // do something … // cookies.setMaxAge(0); } } 找到感兴趣的cookie之后,便可以操作此cookie, 如通过getValue方法得到相关cookie的值,设置MaxAge等 客户端跟踪 11.5.1 使用Cookie(续) ——从客户读取Cookie * 11.5.2 使用Session Session 一段时间内,单个客户与web服务器的一连串的交互过程 在一个Session中客户可能会多次请求访问同一个网页,也有可能请求访问各种不同的服务器资源,其间用户的状态需要跟踪并保持 存在于服务器端,不在网络上传送 它的好处是可以用来记录客户端私有的信息,并且在时间范围内不会消失 客户端跟踪 * 11.5.2 使用Session(续) Session的使用可以分为三个步骤 获得一个session 存储数据到session或从session读取数据 销毁session 客户端跟踪 * 通过调用httpServletRequest的getSession方法可以得到一个session HttpSession session = request.getSession(); 为了保持正确的会话,必须在发送任何文档到客户程序之前获得一个session public class SessionServlet extends HttpServlet { public void doGet( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /

文档评论(0)

1亿VIP精品文档

相关文档