`
mywebcode
  • 浏览: 999116 次
文章分类
社区版块
存档分类
最新评论

HttpSession的创建于Session释放

 
阅读更多

session与cookie的区别和联系

cookies是在客户端保存的变量
session是在服务器端保存的变量
cookies可以自行设置cookies的存在周期
session关闭浏览器就失效了

Session的创建

首先你需要导入javax.servlet.http这个包,对应的jar文件是servlet-api.jar,在此基础上调用该包里面的HttpSession就能实例化session了,这里有关于这个包里面的参数和方法的介绍,是oracle官方的

 HttpSession session = ServletActionContext.getRequest().getSession(); //创建
 ActionContext.getContext().getSession().put("msg", "Hello World from Session!"); //存
 session.setAttribute("softtypeid", softtypeid); //存
获取 if(session.getAttribute("softtypeid")!=null){
if(!softtypeid.equals(session.getAttribute("softtypeid")))
pager_offset=1; //如果不是同一种分类,返回是第一页
}

HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse(); 

HttpSession session = request.getSession(); //创建


用Java使内存中的Session释放相关

1,Java中request.getSession().invalidate();是使客户端对应的整个Session失效,里面所有东西都清空了,同时释放内存资源,注意如果
同一客户端另一种浏览器中的Session不受影响【session是跟浏览器种类有关的,不同种浏览器中的session相互独立】;

上面这个功能结合登陆用户的某个属性,如用户 ID 等,可以实现同一账号同一时间只能在一个地方登陆的功能;
//例如:  
request.getSession().invalidate(); //把当前客户端在服务器端对应的整个session失效

2,request.getSession().remove();是把session中不需要的变量清空,同时释放其所占的内存空间,而没有把整个session清空;

//例如:  
request.getSession().removeAttribute("xName"); //仅清空session中名称为xName的变量值,整个session其它不受影响;

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics