zoukankan      html  css  js  c++  java
  • servlet Cookie 的使用(六)

    1.cookie介绍

      Cookie,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。(可以叫做浏览器缓存)

    2.cookie案例

      servlet 源码

    package com.learn;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.PrintWriter;
    
    /**
     * 
     */
    public class CookieServlet extends HttpServlet {
    
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            //cookie引用
            Cookie cookie = null;
            //设置返回类型为文本类型
            resp.setContentType("text/plain");
            //获取输出对象
            PrintWriter out = resp.getWriter();
    
            //从请求参数中获取cookies
            Cookie[]  cookies = req.getCookies();
            if(cookies != null){
                for (int i = 0; i < cookies.length ; i++) {
                    out.println("name:"+cookies[i].getName());
                    out.println("value:"+cookies[i].getValue());
                    //如果cookie值为user,则赋值给cookie
                    if(cookies[i].getName().equals("user")){
                        cookie = cookies[i];
                    }
                }
    
            } else {
                out.print("no cookie");
            }
    
            if(cookie == null){
                cookie = new Cookie("user","tom");
                //设置cookie最大值为60分钟
                cookie.setMaxAge(60*60);
                resp.addCookie(cookie);
            } else if(cookie.getValue().equals("tom")){
                cookie.setValue("jack");
                resp.addCookie(cookie);
            } else if(cookie.getValue().equals("jack")){
                cookie.setMaxAge(0);
                resp.addCookie(cookie);
            }
    
           out.close();
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            super.doPost(req, resp);
        }
    }

    web,xml 配置

      <servlet>
            <servlet-name>cookie</servlet-name>
            <servlet-class>com.learn.CookieServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>cookie</servlet-name>
            <url-pattern>/cookie</url-pattern>
        </servlet-mapping>

    返回结果:

    继续访问一次,返回结果

  • 相关阅读:
    HashMap遍历的两种方式
    抽象类和接口的区别是什么
    “用户、组或角色'XXX'在当前数据库中已存在”问题
    FCKEditor在IE10下的不兼容问题解决方法
    ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装。解决方法!
    ASP.NET中Url重写后,打不开真正的Html页面
    运用正则表达式在Asp中过滤Html标签代码的四种不同方法
    静态页分页功能js代码
    .NET生成静态页面的方案总结
    禁止ViewState的3种解决方法
  • 原文地址:https://www.cnblogs.com/wwyx-xi/p/7594355.html
Copyright © 2011-2022 走看看