JSP创建session
-
若当前的JSP是客户端访问的当前WEB应用的第一个资源,且JSP的page指定的session属性值为 false, 则服务器就不会为JSP创建一个 HttpSession对象。
-
若当前JSP不是客户端访问的当前WEB应用的第一个资源,且其他页面已经创建一个HttpSession 对象,则服务器也不会为当前 JSP 页面创建一个HttpSession对象,而回会把和当前会话关联的那个HttpSession对象返回给当前的JSP页面.
Serlvet创建session
若Serlvet是客户端访问的第一个WEB应用的资源, 则只有调用了request.getSession()或request.getSession(true)才会创建 HttpSession对象。
String name = “51gjie”
HttpSession session = request.getSession(true);
sesison.setAttribute(“Myname”,name);
参数为true时,如果不存在,则创建一个新的会话,如果存在就返回当前HTTP会话对象。
参数为false时,如果不存在,则返回null,如果存在就返回该sesion。
内置对象session与httpSession对象是一个东西么?
jsp的Session和Servlet的Session本质上是一致的。
区别是:
jsp中session是作为隐式对象存在的,可以直接使用;
Servlet中的session需要手动提取后才能使用.
HttpSession是Java平台对session机制的实现规范,因为它仅仅是个接口,具体到每个web应用服务器的提供商,除了对规范支持之外,仍然会有一些规范里没有规定的细微差异。