'cookie 获取特定值'
'存入cookie的值需要特殊URL编解码处理'
package cn.itcast.cookie;
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;
/**
* @Date 2020/7/23 13:30
* @Created by 陶小山
* @Description TODO
*/
@WebServlet("/time")
public class time extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
boolean lt=false;
Cookie[] cookies = request.getCookies();
for (Cookie c : cookies) {
String name = c.getName();
if("lastTime".equals(name)){
//有访问历史
lt=true;
String lastTime = c.getValue();
//解码
lastTime= URLDecoder.decode(lastTime,"utf-8");
response.getWriter().write("您上次访问时间是:"+lastTime);
//访问时间更新当前时间
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年-MM月-dd日 HH:mm:ss");
String time_new = sdf.format(date);
System.out.println("time_new 编码前"+time_new);
time_new = URLEncoder.encode(time_new, "utf-8");
System.out.println("time_new 编码后"+time_new);
c.setValue(time_new);
c.setMaxAge(60*60*24*30);
response.addCookie(c);
break;
}
}
//判断无访问历史
if(lt==false){
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time_new = sdf.format(date);
//编码,存入cookie的value值
time_new = URLEncoder.encode(time_new, "utf-8");
Cookie co = new Cookie("lastTime", time_new);
co.setMaxAge(60 * 60 * 24 * 30);//一个月
response.getWriter().write("你好,欢迎首次访问");
response.addCookie(co);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
cookie 记住上一次访问时间
最新推荐文章于 2022-04-02 11:00:36 发布