1、Release HttpSessions when finished
2、Do not create HttpSessions in JSPs by default
请问,我怎样Release HttpSessions ??是用session.removeAttribute吗?
还有,什么叫“Do not create HttpSessions in JSPs by default”
请问,我怎样Release HttpSessions ??是用session.removeAttribute吗?
还有,什么叫“Do not create HttpSessions in JSPs by default”
后句理解缺省不在Jsp创建,因为这个Jsp可能不会被首先访问,一般在servlet中。
还有尽量不用httpsession,对性能有影响,theserverSide的架构师谈它的网站为什么很快,是因为没有使用HttpSession。
BTW,我觉得TSS网站访问速度挺慢的。
请问banq,
即然底层都是一样的机制,那httpSession与cookie不一样的地方在哪里? 是不是区别是: HttpSession放相应的大的数据对象在服务器这边,而cookie是把这个对象放在客户端? 这样行吗?
我的理解跟你的理解是一样的。只不过banq说HttpSession有效率问题,说cookie更好一些,我不太清楚为什么? 不知banq能不能说得更清楚一些,谢谢了。
Cookie、HttpSession和EJB SFSB都是保存用户状态的,包含内容是从少到多,从轻量到重量。如何在应用系统中选择使用,需要根据情况。
猜测斑竹的意思不是效率问题,而是 session 对内存消耗问题,大量占用内存必然导致系统开销加大。
(如果堆超过实际内存,会使系统变得奇慢。)
不管用什么技术,大型网站一般没有使用 session 的,对不对?
集群应可以用来维持session状态不会消失在某台机子crash或重启之后,你所说的效率问题好象是在集群的情况下,如果没有cluster,我想效率应相关不大。
Java中HttpSession使用简单,我个人认为应较多使用。
但是,由于session状态信息在client端,必然会有session状态在client and server之间的传输消耗。使用cookie也不安全。由于cookie本身有大小限制,所以session状态的数据不能太大,这样如果在企业级的应用中,没有扩展性。也是个大问题。
另外,经常在论坛看到或听到同事说ie关掉了,session就没了,而且还争论的唾沫横飞,偶就感到很好玩,只能不置可否地笑笑。这里只提示一下:以Ctrl+N或Shit+点击链接方式打开的IE窗口是运行在同一个进程空间的,cookie数据在进程空间中是共享的,而双击桌面上的ie图标打开的是一个新的进程,会话级的cookie(未明确指定生存期的cookie)在新的IE窗口里面是无法访问到的。