java Servlet接口作用域生命周期
Servlet接口作用域有三种:request、session、application 这些作用域的使用可以让我们传递数据和存储数据,在使用作用域传递数据的时候,必须掌握作用域对应的周期和作用范围。
通过eclipse里边代码的展示体现作用域的生命周期:
LoginServlet.java
OtherServlet.java
String name=(String)request.getAttribute("name"); System.out.println(name); String name1=(String)request.getSession().getAttribute("name"); System.out.println(name1); String name2=(String)getServletContext().getAttribute("name"); System.out.println(name2);
1.先运行LoginServlet设置name的属性值,程序自己跳转到OtherServlet,这样的话三个作用域都是有效的,所以会获得三个name属性的值。
2.先运行LoginServlet设置name的属性值,程序自己跳转到OtherServlet,然后再请求OtherServlet,输入url: 这时候输出会发现只有两个有效值,request作用域失效。
3.关掉第一次运行程序的浏览器,再重新换一个浏览器打开,请求OtherServlet的url,会发现只有最后一个有效。
总结: request:只限于一次请求 可用于项目中当前操作功能相关 session:一次会话(多次请求) 开始 (用户向服务器发送请求的时候 ) 结束(丢失JsessionId值的时候(关闭浏览器)) 可用于项目中跟用户信息相关 application:tomcat启动时创建,tomcat关闭时销毁 可用于项目中与全局信息有关 比如快递配送地址
jsp的九大内置对象:
pageContext(pageContext)也包含了另外八大对象的引用
request(HttpServletRequest)
session(HttpSession)
application(ServletContext)
response(HttpResponse)
config(ServletConfig)
out(JspWriter)
page(Object)
exception(Throwable)