一、cookie
@WebServlet("/third") public class ThirdServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) { String request = req.getParameter("request"); if (request != null) { //从请求头获取cookie(Cookie) Cookie[] cookies = req.getCookies(); if (cookies != null) { for (Cookie cookie : cookies) { System.out.println(cookie.getName() + "=" + cookie.getValue()); } } } else { //在响应头添加cookie(Set-Cookie) Cookie cookie = new Cookie("mykey", "myvalue"); //设置cookie存在时间(正数:存在时间,单位为S、0:删除cookie、-1:浏览器关闭删除cookie) cookie.setMaxAge(60 * 30); //默认不同项目间cookie不共享 //设置在同个tomcat下不同项目间cookie共享 cookie.setPath("/"); //设置在同个一级域名下cookie共享(tieba.baidu.com和news.baidu.com) cookie.setDomain(".baidu.com"); resp.addCookie(cookie); } } }
二、session
@WebServlet("/forth") public class ForthServlye extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { /* 一、session 1、作用:用于在同一个会话中,不同请求间共享数据 2、获取:请求对象.getSession(); 3、方法: void setAttribute(String,Object):存储数据 Object getAttribute(String):获取数据 void removeAttribute(String):删除数据 4、sessionid:session对象.getId(); 二、session存在时间 1、服务器关闭(正常关闭服务器session会序列化到硬盘,开启服务器session会反序列化进内存) 2、手动销毁:session对象.invalidate(); 3、默认存在时间30分钟(30分钟不活动session自动销毁),可配置存在时间 <session-config> <session-timeout>30</session-timeout> </session-config> */ } }