zoukankan      html  css  js  c++  java
  • cookie实现访问时间查看

    package day01.cookies;
    
    import java.io.IOException;
    import java.net.URLDecoder;
    import java.net.URLEncoder;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    /**
     * 记录用户上次访问的时间
     * 
     * @author mzy
     *
     */
    public class LastTimeServlet extends HttpServlet {
    
    	private static final long serialVersionUID = 613621422104403409L;
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		request.setCharacterEncoding("utf-8");
    		response.setContentType("text/html;charset=utf-8");
    		
    		Cookie[] cookies = request.getCookies();
    		String lastTime = null;
    		
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日hh时mm分ss秒");
    		String nowTime = sdf.format(new Date());
    		
    		if(cookies != null) {
    			for(Cookie cookie : cookies) {
    				if("lastTime".equals(cookie.getName())) {
    					response.getWriter().write("欢迎您再次访问本站,当前时间为:"+nowTime+"<br/>");
    					lastTime = cookie.getValue();
    					response.getWriter().write("您上次访问的时间为:"+URLDecoder.decode(lastTime, "utf-8"));
    					
    					// Cookie c = new Cookie("lastTime", URLEncoder.encode(nowTime, "utf-8"));
    					// response.addCookie(c);
    					cookie.setValue(URLEncoder.encode(nowTime, "utf-8"));
    					response.addCookie(cookie);
    					
    					break;
    				}
    			}
    			
    		}
    		// cookie虽然不为空,但是并没有我们需要的lastTime数据
    		if(cookies == null || lastTime == null ) {
    			response.getWriter().write("欢迎您首次访问本站,当前的时间为:"+nowTime);
    			
    			// 并不需要lastTime数据,因为我们得到lastTime实际是从cookie中获取的
    			// lastTime = nowTime;
    			
    			Cookie c =  new Cookie("lastTime", URLEncoder.encode(lastTime, "utf-8"));
    			response.addCookie(c);
    		}
    		
    	}
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		
    		response.setContentType("text/html");
    	
    	}
    
    }
    

  • 相关阅读:
    mybatis-cache model
    多线程开发(1)
    正则表达式(3) — 正则表达式库
    正则表达式(2) — 表达式规则
    我在迈瑞工作的两年总结
    正则表达式(1) — 常用的表达式
    C++系列(2) — 智能指针
    C++系列(1) — string
    路径去除前缀
    SIMD性能优化
  • 原文地址:https://www.cnblogs.com/mzywucai/p/11053512.html
Copyright © 2011-2022 走看看