servlet-session
Posted axu521
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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学习!!!");
//请求妆发
//重定向
}
}
以上是关于servlet-session的主要内容,如果未能解决你的问题,请参考以下文章