首页 > 代码库 > cookie

cookie

  javax.servlet.http.cookie类用户创建一个cookie,Response接口中也定义了一个addcookie方法(向服务器写东西都找到Response方法),用于在其响应头中增加一个响应的set-cookie头字段,同样,Request接口中也定义了一个getcookies方法(获取到的是一个数据,即所有的cookie),用于获取客户端提交的cookie,cookie类方法如下:

 

在创建了一个cookie之后,如果不用这个方法设置,那么cookie的生命周期就是浏览器进程

比如我们常用的论坛登录,记住密码一周,其实就是把服务器发送过来的cookie保存在了本地硬盘、

 

cookie应用:

记录上次访问时间:

    public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        response.setCharacterEncoding("UTF-8");        response.setContentType("text/html;charset=UTF-8");                PrintWriter out = response.getWriter();        out.print("您上次访问时间是:");                //获得用户的时间cookie        Cookie cookie[] = request.getCookies();        for(int i=0;cookie!=null &&i<cookie.length;i++)        {            if(cookie[i].getName().equals("lastAccessTime"))            {               long cookieValue  =http://www.mamicode.com/ Long.parseLong(cookie[i].getValue());               Date date =new Date(cookieValue);               out.print(date.toLocaleString());            }        }                                //给用户回送最新的访问时间        Cookie cookie2 =new Cookie("lastAccessTime",System.currentTimeMillis()+"");        cookie2.setMaxAge(1*30*24*3600);        cookie2.setPath("/D716");                response.addCookie(cookie2);                }

 

其中setMaxAge是设置cookie有效期

setPath是设置有效域,如果不设置,那么cookie只是在这个Servlet下有效,设置后,会在整个web下有效