有如下功能:

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

request的生命周期的更多相关文章

  1. Request Session生命周期及struts1 中service的编写

    现在接手的项目是一个早期的struts1框架的项目.同时也是刚开始接触web 以及struts1架构. 在处理多个action时,有一个tab子页面需要每5s自动刷新一次. 然后在测试过程中发现,点击 ...

  2. jsp当做第二个servlet request的生命周期 请求 响应 不管中间经历多少个servlet 只要最后一个serlvt执行后 则生命周期结束 request的域消失

    jsp当做第二个servlet  request的生命周期   请求 响应  不管中间经历多少个servlet 只要最后一个serlvt执行后 则生命周期结束  request的域消失

  3. request请求生命周期

    request请求生命周期 一.request请求分析 1.1. request数据请求 # views.py from rest_framework.views import APIView fro ...

  4. Erlang cowboy http request生命周期

    Erlang cowboy http request生命周期 翻译自: http://ninenines.eu/docs/en/cowboy/1.0/guide/http_req_life/ requ ...

  5. Request和Session的生命周期

    request的生命周期是request请求域,一个请求结束,则request结束 session的生命周期是session会话域,打开一个浏览器请求一个网站的页面后,Session开始,当sessi ...

  6. @Scope注解设置创建bean的方式和生命周期

    1.1.1            Scope注解创建bean的方式和生命周期 作用 Scope设置对象在spring容器(IOC容器)中的生命周期,也可以理解为对象在spring容器中的创建方式. 取 ...

  7. 值栈ValueStack的原理与生命周期

    1.ValueStack贯穿整个 Action 的生命周期,保存在request域中,所以ValueStack和request的生命周期一样.当Struts2接受一个请求时,会迅速创建ActionCo ...

  8. Servlet学习笔记(一)之Servlet原理、初始化、生命周期、结构体系

    Servlet是用java语言编写的应用到Web服务器端的扩展技术,与java对象的区别是,Servlet对象主要封装了对HTTP请求的处理,并且它的运行需要Servlet容器的支持(以下会介绍原因, ...

  9. javaBean Request生命周期

    request: 在request范围内,JavaBean对象的有效范围为: ① 客户请求访问的当前JSP页面② 和当前JSP页面共享同一个请求的页面,包括<%@ include%>指令以 ...

随机推荐

  1. java访问webservce,保持会话,服务端保存session验证

    在进行程序开发的过程中,遇到一个问题,怎么保持会话. 因为一帮进行方法调用很少涉及到即时身份验证的. 例如: 1:客户端登录后服务端保存登录用户信息: 2:客户端持有验证通过key再次请求: 3:服务 ...

  2. SecureCrt 利用公匙登录L机取消密码登录。

    原理自不用多说了. 用SecureCRT生成一个公匙.密匙 把公匙传到多个L机上,然后就可以利用同一个私匙登录多个L机了. 密码都不用换.多轻松好使. SecureCRT-Tools-Create P ...

  3. 简单实用的纯CSS百分比圆形进度条插件

    percircle是一款简单实用的纯CSS百分比圆形进度条插件.你不需要做任何设置,只需要按该圆形进度条插件提供的标准HTML结构来编写代码,就可以生成一个漂亮的百分比圆形进度条. 首先要做的就是引入 ...

  4. scala言语基础学习五

    extends override 和super方法 override field 父类不是val对象不能覆盖field isInstanceOf和asInstanceOf(isInstanceOf是用 ...

  5. 论文笔记之:Spatially Supervised Recurrent Convolutional Neural Networks for Visual Object Tracking

    Spatially Supervised Recurrent Convolutional Neural Networks for Visual Object Tracking  arXiv Paper ...

  6. QQ登入(1)-有客户端直接授权,没客户端web授权

    准备jar文件3个: android-support-v4.jar 下载地址:http://pan.baidu.com/s/1eQmoTm6 mta-sdk-1.6.2.jar 下载地址:http:/ ...

  7. ASP.NET MVC内置的Filter实现介绍

    有时候你想在调用action方法之前或者action方法之后处理一些逻辑,为了支持这个,ASP.NET MVC允许你创建action过滤器.Action过滤器是自定义的Attributes,用来标记添 ...

  8. 027. asp.net中数据绑定控件之 GridView控件

    GridView控件支持下面的功能: 绑定至数据源控件, 如SqlDataSource 内置排序功能 内置更新和删除功能 内置分页功能 内置行选择功能 可以编程方式访问GridView对象模型以动态设 ...

  9. 使用Javascript实现跳转页面和打开新窗口的方法

    1.在原来的窗体中直接跳转用 window.location.href="你所要跳转的页面url"; 2.在新窗体中打开页面用: window.open('你所要跳转的页面url' ...

  10. Q4: Two Sum

    问题描述: Given an array of integers, find two numbers such that they add up to a specific target number ...