遇到的问题
之前在敲书上的代码的时候,遇到一个问题就是我只创建了一个Session对象,但是结果却显示我创建了两个Session对象
一 程序源代码
Login:
Welcome:
监听器:
<当创建一个Session对象的时候就要counter++>
但是当我登录的时候却显示:
二 找出问题
当初苦苦找寻没有找出来(就打算问别人,结果忘了),昨天lt问我当时写这个的时候有遇到吗,然后我们两个一起没有找到,咨询了zxx,问题就解决了!(膜拜!)
原因是因为
在默认的情况下,在对一个JSP页面发出请求的时候,如果Session还没有建立,JSP页面会自动为请求建立一个Session对象
那我怎样可以去掉呢?
三 为什么已请求JSP就会自动创建session呢?
-
session对象是一个JSP内置对象(在访问JSP页面的时候自动创建)
-
JSP有9个隐含对象
对象 所属的类 说明 request javax.servlet.http.HttpServletRequest 客户端的请求信息 response javax.servlet.http.HttpServletResponse 网页传回客户端的响应 out javax.servlet.jsp.JSPWriter 向客户端浏览器输出数据的数据流 session javax.servlet.http.HttpSession 与请求有关的会话 application javax.servlet.ServletContext 提供全局的数据,一旦创建就保持到服务器关闭 config javax.servlet.servletConfig Servlet的配置对象 pageContext javax.servlet.jsp.PageContext JSP页面的上下文,用于访问页面属性 page java.lang.Object 同Java中的this,即JSP页面本身 Exception java.lang.Throwable 针对错误网页,捕捉一般网页中未捕捉的异常