关于Cookie的一些小饼干
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //解决中文乱码问题 req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); javax.servlet.http.Cookie[] cookies = req.getCookies();//服务器端从客户端获取饼干 //判断cookies是否存在 if(cookies!=null){ out.write("上次登录的时间为:"); for(int i=0;i<cookies.length;i++){ Cookie cookie=cookies[i]; if(cookie.getName().equals("lasttime")){ long lasttime = Long.parseLong(cookie.getValue()); Date date = new Date(lasttime); out.write(date.toLocaleString()); } } }else { out.write("你好,这是您第一次登录本站"); } //服务器端给客户端响应一个cookie Cookie cookie = new Cookie("lasttime", System.currentTimeMillis()+""); cookie.setMaxAge(24*60*60);//设置cookie的生命周期为一天 resp.addCookie(cookie); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } }
还有如果用Cookie传递中文数据的要编码解码:
Cookie cookie = new Cookie("name", URLEncoder.encode("撒旦","utf-8"));//编码 out.write(URLDecoder.decode(cookie.getValue(),"utf-8"));//解码

浙公网安备 33010602011771号