Web交互的最基本单位为HTTP请求。每个用户从进入网站到离开网站这段过程称为一个HTTP会话,一个服务器的运行过程中会有多个用户访问,就是多个HTTP会话。
Application
作用范围在服务器启动到服务器关闭为止。Application 的范围最大、停留的时间也最久,所以使用时要特别注意不然可能会造成服务器负载越来越重的情况。只要将数据存入Application对象,数据的范围 (Scope) 就为Application。
具有Application范围的对象被绑定到 javax.servlet.ServletContext 中。在Web应用程序运行期间,所有的页面都可以访问在这个范围内的对象。
Application对象的主要方法:
getAttribute(String name) return Object
getAttributeNames() return Enumeration
getInitParameter(String name)
getServletInfo()
setAttribute(String name , Object object)
Session(会话)
HTTP会话开始到结束这段时间。Session 的作用范围为用户和服务器所连接的一段持续时间,与服务器断线,这个属性就无效了。
Session 的开始时刻比较容易判断,它从浏览器发出第一个HTTP请求即可认为会话开始。但结束时刻就不好判断了,因为浏览器关闭时并不会通知服务器,所以只能通过如下这种方法判断:如果一定的时间内客户端没有反应,则认为会话结束。Tomcat的默认值为120分钟,这个值也可以通过HttpSession的setMaxInactiveInterval()方法来设置。具有session范围的对象被绑定到 javax.servlet.http.HttpSession 对象中。
Session对象的主要方法:
getAttribute(String name) return Object
getAttributeNames() return Enumeration
getCreationTime() return long
getId() return String
getLastAccessedTime() return long
getMaxInactiveInterval() return int
removeAttribute(String name) void
setAttribute(String name , java.lang.Object value) void
Requset
HTTP请求开始到结束这段时间。Request 的范围是在一网页发出请求到另一个网页之间。一个HTTP请求的处理可能需要多个Servlet合作,这几个Servlet之间可以通过某种方式传递信息,这个信息在请求结束后就失效。具有Request范围的对象被绑定到javax.servlet.ServletRequest 对象中。Request对象对于每一个客户请求都是不同的,所以对于每一个新的请求,都要重新创建和删除这个范围内的对象。
Request对象的主要方法:
getParameter(String name) return String
getParameterNames() return Enumeration
getParameterValues(String name) return String[]
Page
作用范围:当前页面从打开到关闭这段时间,它只能在同一个页面中有效。
具有Page范围的对象被绑定到 javax.servlet.jsp.PageContext 对象中。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。