cookie学习

2019-10-25 06:42:40来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

cookie学习

/**
在服务器中的Servlet判断是否有一个名为lastTime的cookie
1. 有:不是第一次访问
1. 响应数据:欢迎回来,您上次访问时间为:2018年6月10日11:50:20
2. 写回Cookie:lastTime=2018年6月10日11:50:01
2. 没有:是第一次访问
1. 响应数据:您好,欢迎您首次访问
2. 写回Cookie:lastTime=2018年6月10日11:50:01

了解一下
URLEncoder编码和URLDecoder解码,都需要使用一个变量来接收

*/

@WebServlet("/cookieDemo")
public class CookieDemo extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置响应的消息体的数据格式以及编码
response.setContentType("text/html;charset=utf-8");
boolean flag=false;
Cookie[] cookies = request.getCookies();


if (cookies!=null&&cookies.length>0){
for (Cookie cookie : cookies) {
String name = cookie.getName();

if ("lastTime".equals(name)){
//再次光临
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String str_date = sdf.format(date);
str_date=URLEncoder.encode(str_date,"utf-8");

flag=true;
String value = cookie.getValue();
value =URLDecoder.decode(value,"utf-8");
response.getWriter().write("<h1>再次光临,你上次登录的时间是:"+value+"</h1>");

cookie.setValue(str_date);
cookie.setMaxAge(60*60*24*30);
response.addCookie(cookie);
break;
}
}
}

if(cookies==null||cookies.length==0||flag==false){
//第一次
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String str_date = sdf.format(date);
System.out.println("编码前:" + str_date);
str_date =URLEncoder.encode(str_date,"utf-8");
System.out.println("编码后:" + str_date);

Cookie cookie = new Cookie("lastTime",str_date);
cookie.setMaxAge(60*60*24*30);
response.addCookie(cookie);
str_date =URLDecoder.decode(str_date,"utf-8");
response.getWriter().write("<h1>你好,欢迎首次登录 : "+str_date+"</h1>");
}
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}

原文链接:https://www.cnblogs.com/shiguanzui/p/11714209.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:IO流11 --- 缓冲流(字符型)实现文本文件的复制 --- 技术搬运工(

下一篇:Spring Boot 2 + Thymeleaf:表单字段绑定、表单提交处理