• 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  = 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有效期,不设置的话是会话级别的,即关掉浏览器就没有了

    把值设置为0,表示清除该cookie。

    例如上面的例子加一个按钮,表示清除上次访问时间。

    删除cookie的时候path也需要一致

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

  • 相关阅读:
    layui动态修改select的选中项
    layui 鼠标悬停单元格显示全部
    使用LayUI操作数据表格
    layer.msg 弹出不同的效果的样式
    layer父页面刷新
    layui 获取radio单选框选中的值
    使用Dapper.Contrib
    微信公众号的文章爬取有三种方式
    centos的 各种安装包下载位置
    git pull一直弹出vim编辑器
  • 原文地址:https://www.cnblogs.com/tech-bird/p/3849046.html
Copyright © 2020-2023  润新知