JavaWeb中各内置对象简介

1. application

Application 的作用范围在服务器一开始执行服务,到服务器关闭为止

具有application范围的对象被绑定到javax.servlet.ServletContext中。在Web应用程序运行期间,所有的页面都可以访问在这个范围内的对象。

ServletContext官方叫servlet上下文。服务器会为每一个工程创建一个对象,这个对象就是ServletContext对象。这个对象全局唯一,而且工程内部的所有servlet都共享这个对象。所以叫全局应用程序共享对象。
在这里插入图片描述

2. session
HTTP会话开始到结束这段时间。Session 的作用范围为一段用户持续和服务器所连接的时间,但与服务器断线,这个属性就无效了。

Session 的开始时刻比较容易判断,它从浏览器发出第一个HTTP请求即可认为会话开始。但结束时刻就不好判断了,因为浏览器关闭时并不会通知服务器,所以只能通过如下这种方法判断:如果一定的时间内客户端没有反应,则认为会话结束。Tomcat的默认值为120分钟,但这个值也可以通过HttpSession的setMaxInactiveInterval()方法来设置。

具有session范围的对象被绑定到javax.servlet.http.HttpSession对象中。

3. request

HTTP请求开始到结束这段时间。Request 的范围是指在一JSP 网页发出请求到另一个JSP 网页之间,否则这个属性就失效。一个HTTP请求的处理可能需要多个Servlet合作,而这几个Servlet之间可以通过某种方式传递信息,但这个信息在请求结束后就无效了。
具有request范围的对象被绑定到javax.servlet.ServletRequest对象中。

request和page的生命周期都是短暂的,它们之间的区别:一个request可以包含多个page页(include,forward及filter)

4.pageContext
pageContext对象代表页面上下文,该对象主要用于访问JSP之间的共享数据。

pageContext是PageContext类的实例,使用pageContext可以访问page、request、session、application范围的变量。

使用pageContext将属性设置在request范围中pageContext.setAttribute(“request2”,“hello” , pageContext.REQUEST_SCOPE);

使用pageContext将属性设置在session范围中pageContext.setAttribute(“session2”,“hello” , pageContext.SESSION_SCOPE);
使用pageContext将属性设置在application范围中pageContext.setAttribute(“app2”,“hello” , pageContext.APPLICATION_SCOPE);

其中scope可以是如下4个值:

PageContext.PAGE_SCOPE:对应于page范围。

PageContext.REQUEST_SCOPE:对应于request范围。

PageContext.SESSION_SCOPE:对应于session范围。

PageContext.APPLICATION_SCOPE:对应于application范围。

猜你喜欢

转载自blog.csdn.net/qq_40622253/article/details/108829737
今日推荐