给浏览器添加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);
        //获取上次访问时的时间
        Cookie[] cookies = request.getCookies();
        if (cookies!=null) {
            for(Cookie cookie2:cookies){
                if ("time".equals(cookie2.getName())) {
                    //返回浏览器上次访问时间
                    response.getWriter().write("上次访问的时间为: "+cookie2.getValue());
                    
                }
            }
        }
        
        
        
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

}

猜你喜欢

转载自www.cnblogs.com/gxlaqj/p/11402087.html