在一个应用中发现有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"是个好习惯^_^