zoukankan      html  css  js  c++  java
  • 给浏览器添加coockie信息

    分两种方案,推荐使用第二种方案:

    一:

    package com.servlet;
    
    import java.io.IOException;
    import java.util.Date;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class SecondServlet
     */
    //@WebServlet("/SecondServlet")
    public class Cookies extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        /**
         * @see HttpServlet#HttpServlet()
         */
        public Cookies() {
            super();
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            //解决乱码问题
            response.setContentType("text/html;charset=utf-8");
            //本次访问时间
            String time = new Date().toLocaleString();
            //shez设置时间cookie
            response.setHeader("Set-cookie", "time ="+time);
            //获取上次访问时的时间
            String oldTime = request.getHeader("Cookie");
            //返回浏览器上次访问时间
            response.getWriter().write("上次访问的时间为:"+oldTime);
            
        }
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            doGet(request, response);
        }
    
    }

    二:

    注:若是使用tomcat8,则这个方法中在cookie中不能有空格,若是有空格则会报错

    package com.servlet;
    
    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class SecondServlet
     */
    //@WebServlet("/SecondServlet")
    public class Cookies extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        /**
         * @see HttpServlet#HttpServlet()
         */
        public Cookies() {
            super();
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            //解决乱码问题
            response.setContentType("text/html;charset=utf-8");
            //本次访问时间
            Date date = new Date();
            SimpleDateFormat smf = new SimpleDateFormat("yyyy-MM-dd-hh:mm:ss");
            String time = smf.format(date);
            System.out.println(time);
            //shez设置时间cookie
            Cookie cookie = new Cookie("time",time);
            response.addCookie(cookie);
         //做校验的字段
         String oldTime = null;
    //获取上次访问时的时间 Cookie[] cookies = request.getCookies(); if (cookies!=null) { for(Cookie cookie2:cookies){ if ("time".equals(cookie2.getName())) {
                //在这里做一个校验,判断cookie里面是否有这个缓存
                oldTiem = cookie2.getValue();
    //返回浏览器上次访问时间 response.getWriter().write("上次访问的时间为: "+cookie2.getValue()); } } }
         //判断字段是否还是为空
         if(oldTime==null){
          //这里可以看出cookie里面并没有time这个缓存
         }
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
  • 相关阅读:
    开源软件架构总结之——Bash(readline做输入交互式,词法语法分析,进程交互)
    python——使用readline库实现tab自动补全
    声明式编程——抽象程度更高,关注是什么(what),而非如何做(how)
    splunk rest api search
    Elasticsearch单机下多实例配置
    splunk 通过rest http导入数据
    vnc xfce tab自动补全失效的解决方法
    止增笑耳星际前传
    [WPF]静态资源(StaticResource)和动态资源(DynamicResource)
    【 D3.js 入门系列 --- 3 】 做一个简单的图表!
  • 原文地址:https://www.cnblogs.com/gxlaqj/p/11402087.html
Copyright © 2011-2022 走看看