
package com.session.homework;
import cn.hutool.core.date.DateUtil;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.Calendar;
import java.util.Date;
@WebServlet("/sessionHomework02")
public class SessionHomework02 extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
/**
* 1.解决中文乱码
*/
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
/**
* 1.使用Hutool工具类获取当前时间
* 2.将时间格式化成对应的yyyy年MM月dd日 HH时mm分ss秒
* 3.使用utf-8编码 timeFormatDateCoded= URLEncoder.encode(formatDate,"utf-8");
* 4.使用utf-8解码 timeFormatDateDecode = URLDecoder.decode(value,"utf-8");
*/
Date date = DateUtil.date(System.currentTimeMillis());
String formatDate = DateUtil.format(date, "yyyy年MM月dd日 HH时mm分ss秒");
String timeFormatDateCoded = URLEncoder.encode(formatDate, "utf-8");
String timeFormatDateDecode = URLDecoder.decode(formatDate, "utf-8");
/**
* 1.登录时间存储在session中 timeFormatDate
* 2.往session中装入属性 key(String) : value(Object))
*/
HttpSession session = req.getSession();
if (session.getAttribute("time")==null)
{
resp.getWriter().write("您好,欢迎您首次访问");
session.setAttribute("time", timeFormatDateDecode);
}
else
{
resp.getWriter().write("欢迎回来,您上次访问时间为:" + session.getAttribute("time"));
}
}
}
和上述代码比对进行(这个思路很赞,个人觉得)
package com.session.homework;
import cn.hutool.core.date.DateUtil;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.Calendar;
import java.util.Date;
@WebServlet("/sessionHomework02")
public class SessionHomework02 extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
/**
* 1.解决中文乱码
*/
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
/**
* 1.使用Hutool工具类获取当前时间
* 2.将时间格式化成对应的yyyy年MM月dd日 HH时mm分ss秒
* 3.使用utf-8编码 timeFormatDateCoded= URLEncoder.encode(formatDate,"utf-8");
* 4.使用utf-8解码 timeFormatDateDecode = URLDecoder.decode(value,"utf-8");
*/
Date date = DateUtil.date(System.currentTimeMillis());
String formatDate = DateUtil.format(date, "yyyy年MM月dd日 HH时mm分ss秒");
String timeFormatDateCoded = URLEncoder.encode(formatDate, "utf-8");
String timeFormatDateDecode = URLDecoder.decode(formatDate, "utf-8");
/**
* 1.登录时间存储在session中 timeFormatDate
* 2.往session中装入属性 key(String) : value(Object))
*/
HttpSession session = req.getSession();
if (session.getAttribute("time")==null)
{
resp.getWriter().write("您好,欢迎您首次访问");
session.setAttribute("time", timeFormatDateDecode);
}
else
{
/*
*1.else也需要set一下当前时间
* 2.这样便于下次访问的时候准确显示时间
* 3.你set完就取不到之前的时间了,再取的话就是你刚set的时间
*/
// session.setAttribute("time", timeFormatDateDecode); 这里set取到的是之前的时间
resp.getWriter().write("欢迎回来,您上次访问时间为:" + session.getAttribute("time"));
session.setAttribute("time", timeFormatDateDecode);//这里set取到的是当前的时间
}
}
}