3 回答
TA贡献1821条经验 获得超5个赞
创建一个 Filter这确实 HttpServletRequest#getSession()以前 FilterChain#doFilter()..优点:无需更改JSF配置/代码。缺点:当您希望避免不必要的会话创建时,您自己也是如此。 打电话 ExternalContext#getSession()带着 true在bean的(POST)构造函数或 preRenderView听众。优势:事实上,没什么。缺点:太无趣了。 添加名称为 com.sun.faces.writeStateAtFormEnd和价值 false到 web.xml..优点:相对于#1和#2,将真正避免不必要的会话创建。 </h:form>到达了。如果您的表单不是非常大,那么影响应该是最小的。但是,如果您的 <h:form>在视野中起步相对较晚。这可能与#4相结合。 添加名称为 javax.faces.FACELETS_BUFFER_SIZE以及Facelets响应缓冲区大小的值,以字节为单位(例如, 65535),以便整个HTML输出或至少 <h:form>(参见#3)适合响应缓冲区。有利/不利,见第3条。 添加名称为 javax.faces.STATE_SAVING_METHOD和价值 client到 web.xml..优点:除非您有会话作用域bean,否则不会创建会话。它也立即解决了潜在的问题。 ViewExpiredException案子。缺点:增加了网络带宽的使用。如果您使用的是部分状态保存,那么影响应该是最小的。
<h:form>
更新
TA贡献1843条经验 获得超7个赞
<dependency> <groupId>org.glassfish</groupId> <artifactId>javax.faces</artifactId> <version>2.1.21</version></dependency>
TA贡献1848条经验 获得超6个赞
welcome-fileweb.xmljava.lang.IllegalStateException: Cannot create a session after the response has been committedwelcome-fileweb.xml
添加回答
举报
