GetSession(false)在JSP和Servlet首次访问结果不同的问题
2008-09-06 15:50
309 查看
GetSession(false)在JSP页面第一次访问为什么不是Null,按照Servlet Specification 2.4应该为Null。由于前两年在做业务网站后台程序时,为了防止刷新数据重复提交,导致数据库异常的问题时,我查阅资料,亲自实现了令牌机制。所以我对这个理解才有一个深刻理解。JSP页面会交给Tomcat容器编译成Servlet,Servlet会生成一个像 public void_jspService(HttpServletRequest req,HttpServletRespose res)的方法,在这个方法中用到了getSession()方法,这个方法相当于调用了getSession(true),就是当前会话不存在就创建,所以你在访问JSP页面时,在页面调用Scriplet时,得到的是非NULL值。如果你不信可以在JSP页面中分别用session.getSession(false),和session.getSession()得到两个变量,打印出他们的HashCode(),值是一样的。另外说明的是由于JSP面面中使用的session非JSP声明变量(其实就是隐含变量),所以用到的session就是void_jspService中的session,是同一个对象的引用。
但如果把getSession(flase)放在一个Servlet中,第一次访问这个Servlet得到的是Null值。
如有不妥之处,欢迎提出宝贵意见.
注:
有些东西,不要看网上的,自己弄出来才是真本事。请不要枉驾评论。我的这篇文章其实也没有深奥的道理,但可以给新手一些帮助。
不要乱评别人,我不算新手,也不算成手。至今用过Spring,Hibernate,Xfire,Lucene,Struts等技术做过开发,三年多。这是一天没事,突然想起前两年做的东东,想把过程记录下来。
以后有时间,打算每有心得就写篇文章。
但如果把getSession(flase)放在一个Servlet中,第一次访问这个Servlet得到的是Null值。
如有不妥之处,欢迎提出宝贵意见.
注:
有些东西,不要看网上的,自己弄出来才是真本事。请不要枉驾评论。我的这篇文章其实也没有深奥的道理,但可以给新手一些帮助。
不要乱评别人,我不算新手,也不算成手。至今用过Spring,Hibernate,Xfire,Lucene,Struts等技术做过开发,三年多。这是一天没事,突然想起前两年做的东东,想把过程记录下来。
以后有时间,打算每有心得就写篇文章。
相关文章推荐
- 日常问题记录--访问JSP文件时The method getDispatcherType() is undefined for the type HttpServletRequest
- 【Servlet】Servlet应用的get、post访问及和JSP的配合使用
- 如何使 FlashGet "正常合法" 下载 Session 中的自定义文件链接呢? JSP/Servlet 实现!
- 关于今天jsp或servlet取不到session的问题
- java web中servlet、jsp、html 互相访问的路径问题。
- 关于JSP不能通过浏览器直接访问,要通过servlet跳转,但一个jsp文件里面用<iframe>标签包含了另一个jsp的访问问题
- 解决访问不同的站点iframe应用session丢失(cookie丢失的问题)的问题
- Servlet & JSP - Java Web 访问资源的路径问题
- 直接访问Jsp和从Servlet跳转到Jsp时的路径问题
- javaweb首次访问页面 验证码session不同步、不一致问题
- JSP中使用AJAX示例:分别将结果提交为STRUTS,SERVLET,WEBWORK的不同操作方式
- FlexContext.getFlexSession()在servlet的doPost方法中不能用的问题解决
- jsp 对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)
- eclipse配置外部tomcat需要注意的问题。(怎样让request.getSession().getServletContext().getRealPath("/")得到正确的路径结果)
- JSP(3):servlet 用同一用户的不同页面共享数据(session)
- 【Servlet】Servlet应用的get、post访问及和JSP的配合使用
- 解决springmvc中文件下载功能中使用javax.servlet.ServletOutputStream out = response.getOutputStream();后运行出异常但结果正确的问题
- JSP和Servlet连接数据库 登陆验证ResultSet.getString("power")空指针问题
- Java jsp/servlet GET/POST 字符集编码问题(中文乱码)
- 也谈session在JSP和Servlet中不一致问题