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取到的是当前的时间 } } }