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)

经验分享 程序员 微信小程序 职场和发展