Cookie实战案例代码
import java.io.IOException; 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 APPle * */ public class HistServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); //cookie的有效路径。默认情况:有效路径在当前web应用下。 //获取当前时间 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String curTime = format.format(new Date()); //取得cookie Cookie[] cookies = request.getCookies(); String lastTime = null; if(cookies!=null){ for (Cookie cookie : cookies) { if(cookie.getName().equals("lastTime")){ //有lastTime的cookie,已经是第n次访问 lastTime = cookie.getValue();//上次访问的时间 //第n次访问 //1.把上次显示时间显示到浏览器 response.getWriter().write("欢迎回来,你上次访问的时间为:"+lastTime+",当前时间为:"+curTime); //2.更新cookie cookie.setValue(curTime); cookie.setMaxAge(1*30*24*60*60); //3.把更新后的cookie发送到浏览器 response.addCookie(cookie); break; } } } /** * 第一次访问(没有cookie 或 有cookie,但没有名为lastTime的cookie) */ if(cookies==null || lastTime==null){ //1.显示当前时间到浏览器 response.getWriter().write("你是首次访问本网站,当前时间为:"+curTime); //2.创建Cookie对象 Cookie cookie = new Cookie("lastTime",curTime); cookie.setMaxAge(1*30*24*60*60);//保存一个月 //3.把cookie发送到浏览器保存 response.addCookie(cookie); } } }
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!