servlet-session

/**
  * ssesion技术学习:
  *         问题:
  *             一个用户的不同需求处理的数据共享怎么办?
  *         解决:
  *             使用session技术
  *         原理:
  *             用户第一次访问服务器,服务器会创建一个session对象给此用户,并将
  *             该session对象的JsessionID使用Cookie技术存储到浏览器中,保证
  *             用户的其他请求能够获取到同一个session对象,也保证了不同请求能够
  *             获取到共享的数据。
  *         特点:
  *             存储在服务器端
  *             服务器进行创建
  *             依赖Cookie技术
  *             一次会话
  *             默认存储时间是30分钟
  *         作用:
  *             解决了一个用户不同请求处理的数据共享问题
  *         使用:
  *             创建session对象/获取sesion对象
  *                 HttpSession hs=req.getSession();
  *                 如果请求中拥有Session的标识符也就是JSESSIONID,则返回其对应的session对象
  *                 如果请求中没有session的标识符也就是JSESSIONID,则创建新的session对象,并将JSESSIONID作为cookie数据存储到浏览内存中
  *                 如果Session对象失效了,也会重新创建一个session对象,并将其JESSIONID存储在浏览器内存中。
  *             设置session存储时间
  *                 hs.setMaxInactiveInterval(3600);
  *                 注意:
  *                     在指定的时间内session对象没有被使用则销毁,如果使用了则重新计时.
  *             设置session强制失效
  *                 hs.invalidate()
  *             存储和获取数据
  *                 存储:hs.setAttribute(string name,object value);
  *                 获取:hs.getAttribute(String)
  *
  *         注意:
  *                 JSESSIONID存储在了Cookie的临时存储空间中,浏览器关闭即失效
  * @author Administrator
  *
  */
public class SessionServlet extends HttpServlet {
     @Override
     protected void service(HttpServletRequest req, HttpServletResponse resp)
             throws ServletException, IOException {
         //设置请求编码格式
             req.setCharacterEncoding("utf-8");
         //设置响应编码格式
             resp.setContentType("text/html;charset=utf-8");
         //获取请求信息
             String name="张三";
         //处理请求信息
             //创建session对象
             HttpSession hs=req.getSession();//这语句就是创建也是获取
             //设置session的存储时间
             //hs.setMaxInactiveInterval(5);
             System.out.println(hs.getId());
             //设置session强制失效
             //hs.invalidate();
             //存储数据
             hs.setAttribute("name",name);
            
         //响应处理信息
             //直接响应
             resp.getWriter().write("Seesion学习!!!");
             //请求妆发
             //重定向
     }
}

猜你喜欢

转载自www.cnblogs.com/axu521/p/9902581.html