当用户访问一个JSP页面时,Servlet容器会检查当前会话是否存在。如果当前会话不存在,Servlet容器将创建一个新的session实例,并将该session与请求关联起来。以下是这个过程的一个简单例子:
1. 用户第一次访问名为`welcome.jsp`的页面。
2. Servlet容器检查当前会话。
3. 发现当前没有活跃的会话。
4. 创建一个新的session实例。
5. 将session实例与用户的请求关联。
6. JSP页面执行,并将用户重定向到登录页面。
现在,假设用户已经登录并访问了另一个JSP页面,比如`home.jsp`:
1. 用户访问`home.jsp`页面。
2. Servlet容器再次检查当前会话。
3. 发现用户已经有了一个活跃的会话。
4. 直接使用现有的session实例。
这样,每次用户访问JSP页面时,如果还没有创建会话,Servlet容器就会创建一个新的session实例。这就是为什么说“访问jsp会创建session实例”的原因。