和 ”上次登录时间“一样,只不过 ”几小时前来过“ 额外加入了一些日期的计算。可以使访问信息更直观。
思路
1.获取客户端携带的名为lastAccessTime的cookie
2.如果cookie 的value为空 则用户是第一次访问本站
3.如果不为空
1)格式化日期
2)存入当前日期 ,由于我使用的时SimpleDateFormat格式化日期"yyyy-MM-dd HH:mm:ss",取出当前时间时会产生乱码,所以要使用 URLEncoder.encode 编码 使用URLDecoder.decode解码。
3)时间转换成Date类型 通过getTime方法转换成ms为单位 。这里的ms指的是1970年1月1日距今的毫秒数 所以数字很大 要使用long类型 。
4)当前日期的ms数 - cookie中时间的ms数 = 多久前来过(ms)
代码如下:LastVisitServlet.java
@WebServlet("/lastVisitServlet")
public class LastVisitServlet extends HttpServlet {
long days,hours,minutes;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
// 获得客户端携带lastAccessTime 的cookie
Cookie[] cookies = request.getCookies();
String lastTime = null;
if (cookies != null) {
for (Cookie cookie