一尘不染

为什么要设置JSP页面会话=“ false”指令?

jsp

我想知道您何时要在JSP中设置以下页面指令:

<%@ page session="false" %>

我知道它阻止了会话对象的创建,但是什么时候需要这样做?当JSP不需要访问隐式会话时,是否被视为最佳实践?

注意我问的原因是因为它在此Spring MVC教程中,并且我假设springsource的人们知道他们的知识-http :
//blog.springsource.com/2011/01/04/green-beans-getting-started -with-spring-
mvc /


阅读 189

收藏
2020-06-08

共1个答案

一尘不染

原因之一是 性能内存 。如果您的某个页面不需要参与会话(例如an
about.jspfaq.jsp),则将每个JSP都包含在会话中的默认行为将带来创建新会话对象的开销(如果没有已经存在),并随着更多对象驻留在堆上而增加了内存使用量。

如果单个页面看到来自许多唯一身份用户的高流量以及较高的跳出率,即当用户浏览完一页后,他们的用户不会继续浏览而是离开网站,那么容器将创建一个新页面,则这种效果将被大大放大。每个用户的会话对象,将永远不会再使用,并且在超时后最终将被垃圾回收-
添加了对象创建,内存使用和垃圾回收的开销,却没有任何实际价值。

2020-06-08