首页 > IT > it

5.12 作业 Cookie

2023-02-15
字号:
package com.qiku.yrc;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
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.net.URLDecoder;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;

@WebServlet(name = "cookieTest01",urlPatterns = "/cookietest01")
public class CookieTest01 extends HttpServlet{
    

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf-8");
        req.setCharacterEncoding("utf-8");
        Cookie[] cookies = req.getCookies();
 if (cookies!=null && cookies.length>0){
        for (Cookie cookie:cookies){
            if ("lastTime".equalsIgnoreCase(cookie.getName())){
                    String value01= cookie.getValue();
                value01 = URLDecoder.decode(value01,"utf-8");
                resp.getWriter().write("欢迎回来:"+cookie.getName()+"上次访问时间为"+value01);
                Date date=new Date();
                SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
               String fd = sdf.format(date);
                fd = URLEncoder.encode(fd,"utf-8");//url编码
                cookie.setValue(fd);//设置 这一次访问的时间  下一次访问就能得到 这一次访问的时间了
                resp.addCookie(cookie);
//                resp.getWriter().write("您上次访问的时间为"+fd);
                cookie.setMaxAge(3000);

                break;
            }
        }
 }
 if (cookies==null||cookies.length==0){
     Date date=new Date();
     SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
     String fd =sdf.format(date);
     Cookie lT=new Cookie("lastTime",fd);
     resp.addCookie(lT);
    fd= URLDecoder.decode(fd,"utf-8"); //编码
     resp.getWriter().write("欢迎首次访问,访问时间为:"+fd);
     lT.setMaxAge(3000);
 }


    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }
}

经测试 上次访问的时间能够刷新?

?

今日热点

大家都在看