在一个应用中发现有session,而应用本身没有用到session.
找了下原因,其实很简单,页面头部没有写:
<%@ page session="false" contentType="text/html;charset=GBK" %>
该值默认=true
全部写上以后,问题解决了
什么情况下session="true"jsp会自动创建session?
1, 只要页面有jsp标签(<%%>), 即便是空标签,也会创建(原因不知道- -!);
查看编译后的.java文件会发现多一行:
javax.servlet.http.HttpSession session = request.getSession(true);
2, 其他可能调用到request.getSession(false)的代码
比如EL表达式${aaa},如果你不指定scope,他会以page,request,session,application顺序查询
所以在页面上全部加上session="false"是个好习惯^_^
本文介绍了如何在JSP页面中禁用Session功能,并解释了Session在不同情况下的自动创建机制。通过设置%@page session=false%,可以有效避免不必要的Session使用。
884

被折叠的 条评论
为什么被折叠?



