`
xpf7622
  • 浏览: 11847 次
社区版块
存档分类
最新评论

GetSession(false)在JSP和Servlet首次访问结果不同的问题--原创

    博客分类:
  • Java
阅读更多
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等技术做过开发,三年多。这是一天没事,突然想起前两年做的东东,想把过程记录下来。
以后有时间,打算每有心得就写篇文章。
分享到:
评论
7 楼 xpf7622 2008-04-25  
titanfoot  :请君给我看一下你自己写的文章。
另外,不管怎样,我不会把别人文章拿来,也不写上:摘自***,还要挂个原创的人强。
水平不够也罢,贵在可以坚持下去去写。
6 楼 xpf7622 2008-04-25  
再说两年前我就知道文章中的内容。并不是现在才知道。
我承认还有许多高峰要攀登,但并不象你们这样,看也不看,就否定别人。再说,如果有时间,我以后会继续写的。
我也不想和你争,毕竟言论自由。
5 楼 xpf7622 2008-04-25  
   再说两年前我就知道文章中的内容。并不是现在才知道。
   我承认还有许多高同要攀登,但并不象你们这样,看也不看,就否定别人。
   如果不认可的话,我以后会继续写文章的。
  我也不否认这样文章,发表文章言论自由,欢迎批评。
4 楼 titanfoot 2008-04-25  
戳中自己的软肋还不承认,

我觉得:具有1年jsp开发经验的人(稍微有点上进心的),早就知道这一点。

估计你是刚满1年?
3 楼 xpf7622 2008-04-25  
   这个我早就知道可以设置Session。请仔细看原文,谁都可以查看API知道getSession() ====getSession(true) 。没仔细看不要乱说。
   我强调的是JSP中和Servlet为什么不一样,也许题目没起好。
2 楼 titanfoot 2008-04-24  
这还叫原创赫赫?????


getSession() ====getSession(true)

getSession(false)

明白么?新手吧!嗬嗬!
1 楼 yiqingfeng 2008-04-16  
jsp页面可以设置是否需要启动session的

相关推荐

    jsp+Servlet实现简单的登陆

    Servlet+Jsp实现简单的登陆,HttpSession session = request.getSession();

    jsp day1技术解析(servlet/jsp)课件下载

    JSP request ---> service ...Servlet 问题 1 XXXViewServlet out.println("<html>"); out.println("</html>"); 不善于做显示页面 2 Java程序 java---> javac ---> 启动tomcat 修改繁琐

    servlet2.4doc

    Called by the servlet container to indicate to a servlet that the servlet is being taken out of service. DIGEST_AUTH - Static variable in interface javax.servlet.http.HttpServletRequest String ...

    .jsp和servlet验证码

    request.getSession(true).setAttribute("codes", vcode); for (int i = 0; i ; i++) { g2.setFont(new Font("Times New Roman", Font.HANGING_BASELINE, FontSize)); double rot = getRandomJiao(); // 旋转...

    投票系统,基于mvc开发,jsp+servlet+mysql

    import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet....

    java-servlet-api.doc

    一个Servlet只能运行在一个Servlet环境中,但是不同的Servlet可以在Servlet引擎上有不同的视图。 如果Servlet引擎支持虚拟主机,每个虚拟主机有一个Servlet环境。一个Servlet环境不能在虚拟主机之间共享。 Servlet...

    jsp 对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)

    在网上经常看到有人对request.getSession(false)提出疑问,我第一次也很迷惑,看了一下J2EE1.3 API,看一下官网是怎么解释的。

    servlet3.0新特性源代码

    *在创建项目的时候首先添加Tomcat7.x的支持,然后把apache-tomcat-7.0.27\conf\web.xml拷贝到项目WEB-INF目录下 *把之前的web.xml覆盖.. 配置留下 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app ...

    采用ajax实现的图片验证码

    2、在jsp页面,编写一个请求servlet的名称"> 3、编写一个servlet,在servlet中产生图形验证码 ------------------------------------------------------------ //1、给客户端作出的回应是以图片的方式来回应 ...

    JSP100选择题 JSP100选择题 适合考前练习

    JSP100选择题 适合考前练习 1 J2EE 中,()类的()方法用于创建对话。(选择一项) a) HttpServletRequest、getSession b) HttpServletResponse、newSession c) HtttpSession、newInstance d) HttpSession、...

    java 中 request.getSession(true、false、null)的区别

    主要介绍了java 中 request.getSession(true/false/null)的区别的相关资料,需要的朋友可以参考下

    jsp源码-网络交易系统

    jsp源码实例-网络交易系统 import="java.util.*,domain.*,struts.page.*" pageEncoding="GB2312" errorPage="error.jsp"%> <!DOCTYPE ...

    request.getSession().doc

    request.getSession().doc

    基于servlet的购物车

    //得到书号和书本对象 int bookid =Integer.parseInt(request.getParameter("id")); Map, Book> books = (Map, Book>)request.getSession().getServletContext().getAttribute("books"); Book book = books....

    关于jsp语法和练习

    2. JSP页面需要创建仅在本页面使用的JavaBean的示例,为了完成此功能必须使用jsp:useBean的哪两个属性进行设置?(选择两个选项) A. id B. type C. name D. class E. scope F. create 答案: A, D Scope 默认值为...

    轻量级java web MVC框架

    只需在执行完方法后,返回字符串:如return "login/main"就会跳转到指定视图,还可以在视图中用EL表单式访问modelview数据,例子如: SimpleModelView mv = new SimpleModelView("login/mainmv"); Map, String> m = ...

    SimpleServlet.zip

    HttpSession session=request.getSession(); int itemCount=0; HashMap cart=(HashMap)session.getAttribute("cart"); if(cart!=null){ itemCount=cart.size(); } response.setContentType("text/...

    proj_Model2_ManagementSystem:Java Servlet和JSP

    Servlet:HttpSession会话= request.getSession()/ session.setAttribute() jsp:<%= session.getAttribute(“ message”)%> EL / JSTL EL:$ {}页,请求,会话,应用程序 JSTL:“条件表达式”>〜 ...

    数据库测试test.sql

    //response.sendRedirect("/myservlet2/admin/success.jsp"); //response.sendRedirect(request.getContextPath()+"/admin/success.jsp"); //http://192.168.58.250:8080/myservlet2/servlet/LoginServlet //...

Global site tag (gtag.js) - Google Analytics