访问一个Servlet,如果是第一次访问,则提示:你好,欢迎您首次访问 如果不是第一次访问,则提示:欢迎回来,您上次访问时间为:显示时间字符串分析:
可以采用cookie来完成 在服务器中的Servlet判断是否有一个lastTime的cookie 有:不是第一次访问 响应数据:欢迎回来,您上次访问时间为: 写回cookie 没有:是第一次访问 响应数据:您好,欢迎您首次访问 写回Cookie:lastTime = 2020年5月8日9:35:00
@WebServlet("/Time_Demo3") public class Demo3 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("test/html;charset=utf-8"); //获取所有Cookie Cookie[] cookies = request.getCookies(); boolean flag = false;//没有cookie为lastTime //遍历cookie数组 if (cookies != null && cookies.length >0){ for (Cookie cookie : cookies){ //获取cookie的名称 String name = cookie.getName(); //判断是否是:lastTime if("lastTime".equals(name)){ //有该cookie,不是第一次访问 flag = true;//有lastTime的cookie //设置Cookie的value //获取当前时间的字符串:重新设置cookie的值,重新发送cookie Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String str_date = sdf.format(date); System.out.println("编码前:" + str_date); //URL编码 str_date = URLEncoder.encode(str_date,"utf-8"); System.out.println("编码后:" + str_date); cookie.setValue(str_date); //设置cookie的存活时间 cookie.setMaxAge(60*60*24*30);//一个月 response.addCookie(cookie); //响应数据 //获取cookie的value,时间 String value = cookie.getValue(); System.out.println("解码前:" + value); //URL解码: value = value = URLDecoder.decode(value,"utf-8"); System.out.println("解码后:"+value); response.getWriter().write("<h1>欢迎回来,您上次访问时间为:" + value + "</h1>"); break; } } } if(cookies == null || cookies.length == 0 || flag == false){ //没有,表示第一次访问 //设置Cookie的value //获取当前时间的字符串:重新设置cookie的值,重新发送cookie Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String str_date = sdf.format(date); System.out.println("编码前:" + str_date); //URL编码 str_date = URLEncoder.encode(str_date,"utf-8"); System.out.println("编码后:" + str_date); Cookie cookie = new Cookie("lastTime",str_date); cookie.setValue(str_date); //设置cookie的存活时间 cookie.setMaxAge(60*60*24*30);//一个月 response.addCookie(cookie); response.getWriter().write("<h1>:您好,欢迎您首次访问" + "</h1>"); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } }