zoukankan      html  css  js  c++  java
  • request的生命周期

    有如下功能:

    从index.jsp页面点击超链接进入TestServlet服务器,TestServlet服务器再请求转发到test.jsp。

    在index.jsp里设置了request的attribute:requestKey1,在TestServlet服务器里设置了request的attribute:requestKey2,然后在test.jsp页面里获取request的两个属性值。

     

    具体代码如下:

     

     

    运行结果:只能获取到request的requestKey2,不能获取requestKey1。这说明index.jsp的request和test.jsp不是同一个request,而TestServlet服务器的request和test.jsp是同一个request.

    原因分析:

                                            超链接(相当于请求转发)  

                                            发送request②                          请求转发request②

                            index.jsp------------------>TestServlet服务器-------------------->test.jsp

    (index.jsp里显示自身页面的request①)                                               (test.jsp里显示自身页面的request②)

    也就是说,index.jsp页面的request是用来显示自身页面的的,刷新一下index.jsp页面,就发送一次request①从而页面完成请求和响应,request①就会被创建和销毁。

    而从index.jsp页面点击超链接进入TestServlet服务器是另一个request②,TestServlet服务器对request②进行请求转发到test.jsp页面,此时test.jsp获取的请求仍然是request②,而且test.jsp页面显示自身的也是request②。如果刷新test.jsp页面,就会再发送一次request②(从index.jsp---->TestServlet服务器)

     

    那么,如果是TestServlet服务器是重定向到test.jsp,将会是如下流程:

                                                超链接(相当于请求转发)  

                                           发送request②                          请求重定向request③

                            index.jsp------------------>TestServlet服务器-------------------->test.jsp

    (index.jsp里显示自身页面的request①)                                               (test.jsp里显示自身页面的request③)

     此时如果刷新一下test.jsp页面,再次发送的request③和前面index.jsp的request①、TestServlet服务器的request②没有半点关系。

     

     

  • 相关阅读:
    Linux中profile、bashrc、bash_profile之间的区别和联系
    指针长度长几何
    快速理解网络协议视频总结
    gdb调试关键点记录
    调试经验积累
    定位网页元素
    浮动
    盒子模型
    css3
    css
  • 原文地址:https://www.cnblogs.com/TTTTT/p/6005765.html
Copyright © 2011-2022 走看看