没有 HttpServletRequest.getSession(true) ,Sesion是不会创建的, 即便Servlet又转发(或者重定向)到第二个页,只要第二个页(html)依然不是jsp页,Session就依然不会创建,如果是jsp则自动创建一个session对象,放到jsp的内置对象里面:jsp生成的servlet.java
//可以看到内置对象有session:
public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException {
JspFactory _jspxFactory = null;
PageContext pageContext = null;
HttpSession session = null;
ServletContext application = null;
ServletConfig config = null;
JspWriter out = null;
Object page = this;
JspWriter _jspx_out = null;
PageContext _jspx_page_context = null;
try {
_jspxFactory = JspFactory.getDefaultFactory();
response.setContentType("text/html;charset=UTF-8");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, true, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out;
out.write("\r\n");
out.write("\r\n");
out.write("\r\n");
out.write("<html>\r\n");
out.write("<head>\r\n");
String selfUrl = (String) SystemParameter.getValue(ConfigClassType.SYSTEM, "SSO", "SelfUrl");
out.write("\r\n");
out.write("</head>\r\n");
out.write("<body>\r\n");
out.write("<SCRIPT language=\"javascript\">\r\n");
out.write("<!--\r\n");
out.write("top.window.location = '");
out.print( request.getContextPath());
out.write("/loginindex.do';\r\n");
out.write("//-->\r\n");
out.write("</SCRIPT> \r\n");
out.write("<!-- top.window.location = '");
out.print( request.getContextPath() + selfUrl);
out.write("';-->\r\n");
out.write("<!-- top.window.location = '");
out.print( request.getContextPath());
out.write("/loginindex.do';--> \r\n");
out.write("</body>\r\n");
out.write("</html>");
} catch (Throwable t) {
if (!(t instanceof SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
out.clearBuffer();
if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
}
} finally {
if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
}
}
session何时创建
最新推荐文章于 2024-11-03 11:01:20 发布
本文详细解释了在Java Web应用中,Session的工作机制及其如何在不同页面间维持用户会话状态。特别是针对HttpServletRequest.getSession(true)的作用及Session对象在JSP页面中的自动创建过程进行了深入探讨。
摘要由CSDN通过智能技术生成