cookies

cookie记录用户上一次访问的时间

 public class CookieDemo01 extends HttpServlet {
17 
18     public void doGet(HttpServletRequest request, HttpServletResponse response)
19             throws ServletException, IOException {
20         //设置服务器端以UTF-8编码进行输出
21         response.setCharacterEncoding("UTF-8");
22         //设置浏览器以UTF-8编码进行接收,解决中文乱码问题
23         response.setContentType("text/html;charset=UTF-8");
24         PrintWriter out = response.getWriter();
25         //获取浏览器访问访问服务器时传递过来的cookie数组
26         Cookie[] cookies = request.getCookies();
27         //如果用户是第一次访问,那么得到的cookies将是null
28         if (cookies!=null) {
29             out.write("您上次访问的时间是:");
30             for (int i = 0; i < cookies.length; i++) {
31                 Cookie cookie = cookies[i];
32                 if (cookie.getName().equals("lastAccessTime")) {
33                     Long lastAccessTime =Long.parseLong(cookie.getValue());
34                     Date date = new Date(lastAccessTime);
35                     out.write(date.toLocaleString());
36                 }
37             }
38         }else {
39             out.write("这是您第一次访问本站!");
40         }
41         
42         //用户访问过之后重新设置用户的访问时间,存储到cookie中,然后发送到客户端浏览器
43         Cookie cookie = new Cookie("lastAccessTime", System.currentTimeMillis()+"");//创建一个cookie,cookie的名字是lastAccessTime
44         //将cookie对象添加到response对象中,这样服务器在输出response对象中的内容时就会把cookie也输出到客户端浏览器
45         response.addCookie(cookie);
46     }


删除cookies://将cookie的有效期设置为0,命令浏览器删除该cookie 22 cookie.setMaxAge(0);
cookie中存取中文:
  使用URLEncoder类里面的encode(String s,String enc)进行中文转码
  1 Cookie cookie = new Cookie("userName", URLEncoder.encode("贺陆伟", "UTF-8"));
  2 response.addCookie(cookie);

获取:使用URLDecoder类里面的decod(String s,String enc)进行解码。
  1 URLDecoder.decode(cookies[i].getValue(), "UTF-8")
posted @ 2016-07-13 22:34  陆伟  阅读(173)  评论(0编辑  收藏  举报