HttpSession和jsp中session的区别

你听说过Session吗? 
它是保存在服务器的一个标识,就想客户电脑上的Cookie。我们常见的网站管理员和普通用户之间就是用Session来区分的。 

你所说的HttpSession是JSP中经常使用的一个方法,准确的说,是Request中的一个方法,比如。 
Session = request.getSession(true); 
用于获取Session 

HttpSession 中可以跟踪并储存用户信息,把值设置到属性中,有2 个方法: 
setAttribute(),getAttrribute(); 
例如:在一个方法中用session.setAttribute(“student”,student);在 
session 中设置一个属性名为student,值为一个名为student 的对象。而后可在 
同一session 范围内用getAttribute(“student”)取出该属性,得到student 
对象。 


HttpSession session=request.getSession();为什么不用response儿用request! 
首先回答为什么分别是response和request这两个内置对象。 
你得先明白你通过获取对象是做什么用的,是往哪用的。 
第一个PrintWriter out=response.getWriter() 
是想获得一个输出流,用来响应客户端发出的请求。所以想响应客户端必须用response 
第二个HttpSession session=request.getSession() 
是从客户端获得一个session的对象,这个对象包含客户端持有的相关信息用来区别每个客户端.既然是从客户端就必须用请求对象来获取,因为一般都是客户端向服务器端发出的一个请求.所以用request对象。 
Cookie和session这个得分开来说 
两个都可以用来存私密的东西,同样也都有有效期的说法。 
区别在于。 
session是放在服务器上的,过期与否取决于服务期的设定,cookie是存在客户端的,过去与否可以在cookie生成的时候设置进去。 

1、cookie数据存放在客户的浏览器上, 
session数据放在服务器上 
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 
考虑到安全应当使用session 
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 
考虑到减轻服务器性能方面,应当使用COOKIE 
4、单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。 
5、所以个人建议: 
将登陆信息等重要信息存放为SESSION 
其他信息如果需要保留,可以放在COOKIE中

你可能感兴趣的:(HttpSession和jsp中session的区别)