• 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②没有半点关系。

     

     

  • 相关阅读:
    台州 OJ 3847 Mowing the Lawn 线性DP 单调队列
    洛谷 OJ P1417 烹调方案 01背包
    快速幂取模
    台州 OJ 2649 More is better 并查集
    UVa 1640
    UVa 11971
    UVa 10900
    UVa 11346
    UVa 10288
    UVa 1639
  • 原文地址:https://www.cnblogs.com/TTTTT/p/6005765.html
Copyright © 2020-2023  润新知