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②没有半点关系。
request的生命周期的更多相关文章
- Request Session生命周期及struts1 中service的编写
现在接手的项目是一个早期的struts1框架的项目.同时也是刚开始接触web 以及struts1架构. 在处理多个action时,有一个tab子页面需要每5s自动刷新一次. 然后在测试过程中发现,点击 ...
- jsp当做第二个servlet request的生命周期 请求 响应 不管中间经历多少个servlet 只要最后一个serlvt执行后 则生命周期结束 request的域消失
jsp当做第二个servlet request的生命周期 请求 响应 不管中间经历多少个servlet 只要最后一个serlvt执行后 则生命周期结束 request的域消失
- request请求生命周期
request请求生命周期 一.request请求分析 1.1. request数据请求 # views.py from rest_framework.views import APIView fro ...
- Erlang cowboy http request生命周期
Erlang cowboy http request生命周期 翻译自: http://ninenines.eu/docs/en/cowboy/1.0/guide/http_req_life/ requ ...
- Request和Session的生命周期
request的生命周期是request请求域,一个请求结束,则request结束 session的生命周期是session会话域,打开一个浏览器请求一个网站的页面后,Session开始,当sessi ...
- @Scope注解设置创建bean的方式和生命周期
1.1.1 Scope注解创建bean的方式和生命周期 作用 Scope设置对象在spring容器(IOC容器)中的生命周期,也可以理解为对象在spring容器中的创建方式. 取 ...
- 值栈ValueStack的原理与生命周期
1.ValueStack贯穿整个 Action 的生命周期,保存在request域中,所以ValueStack和request的生命周期一样.当Struts2接受一个请求时,会迅速创建ActionCo ...
- Servlet学习笔记(一)之Servlet原理、初始化、生命周期、结构体系
Servlet是用java语言编写的应用到Web服务器端的扩展技术,与java对象的区别是,Servlet对象主要封装了对HTTP请求的处理,并且它的运行需要Servlet容器的支持(以下会介绍原因, ...
- javaBean Request生命周期
request: 在request范围内,JavaBean对象的有效范围为: ① 客户请求访问的当前JSP页面② 和当前JSP页面共享同一个请求的页面,包括<%@ include%>指令以 ...
随机推荐
- ubuntu 状态栏不显示时间
有时候我们会看到我们电脑的状态栏那里并没有显示时间,一个原因是日期时间指示器没有工作,另一个可能的原因是用户禁用了时间显示. 方法一: 首先我们用下面的命令来确认一下是否安装了日期时间指示器: sud ...
- URAL 1080 Map Coloring(染色)
Map Coloring Time limit: 1.0 secondMemory limit: 64 MB We consider a geographical map with N countri ...
- timus 1106 Two Teams(二部图)
Two Teams Time limit: 1.0 secondMemory limit: 64 MB The group of people consists of N members. Every ...
- VPS搭建VPN(pptpd)
环境:Ubuntu Server 12.04 下载FQ程序 wget http://cdxf.yun.ftn.qq.com/ftn_handler/40ad8a2875adf1f7b5193f54a5 ...
- 越狱Season 1-Episode 8: The Old Head
Season 1, Episode 8: The Old Head -Michael: 17 days from now they strap my brother to an electric ch ...
- JS构造函数详解
//构造函数 //使自己的对象多次复制,同时实例根据设置的访问等级可以访问其内部的属性和方法 //当对象被实例化后,构造函数会立即执行它所包含的任何代码 function myObject(msg) ...
- 【P1813】8的倍数
容斥原理,居然没想到……要补一下数论了 原题: 小x最近对数字8很感兴趣,有8进制,2008奥运会之类的.现在小x想知道,在[x,y]区间里,有多少个数能被8整除.小y觉得题目太简单,于是给出n个其他 ...
- ARM1138@PWM例程分析
1. Buzzer例程控制原理 由ARM1138原理图可得:Buzzer使用CCP3(对应GPIO-G组0x40026000,4号引脚0x00000010)作为输入引脚: Buzzer例程结构: 涉及 ...
- urllib,urllib2,requests对比
#coding:utf-8 import urllib2 import urllib import httplib import socket import requests #实现以下几个方面内容: ...
- mysql提权笔记
最近小菜遇到mysql提权,总是会搞错,就记记笔记吧!以后方便用 先说手工吧! mysql<5.0,导出路径随意:5.0<=mysql<5.1,则需要导出至目标服务器的系统目录(如: ...