简单的记录下自己复习servlet的路程
cookie学习,记录上一次访问的时间
其中出现了一个问题,就是response返回给浏览器的时候中文乱码问题
刚开始只是resp.setCharacterEncoding(“utf-8”);中文还是乱码
最后加入resp.setHeader(“Content-type”, “text/html;charset=UTF-8”);
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setHeader("Content-type", "text/html;charset=UTF-8");
resp.setCharacterEncoding("utf-8");
PrintWriter writer = resp.getWriter();
Cookie[] cookies = req.getCookies();
if(cookies != null){
writer.write("上一次访问的时间:");
for (Cookie cookie : cookies) {
if(cookie.getName().equals("bill")){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = simpleDateFormat.format(new Date(Long.parseLong(cookie.getValue())));
writer.write(format);
}
}
}else {
writer.write("这是您第一次访问");
}
Cookie cookie = new Cookie("bill", System.currentTimeMillis() + "");
resp.addCookie(cookie);
//设置过期时间为一天
cookie.setMaxAge(24*60*60);
}
在代码的最后加入了cookie的过期时间,设置了一天
也可以在这里查看cookie
就算服务停止,设置了过期时间,下次登陆请求也会带着cookie,所以访问还是会带着上一次的访问时间