jsp中的四个作用域,九个内置对象分别是什么?

九大内置对象:

内置对象(又叫隐含对象),就是在jsp中,不需要创建(由服务器<容器>来创建),可以直接使用的对象。

对象 含义 作用域
request 请求对象 类型 javax.servlet.ServletRequest 作用域 Request
response 响应对象 类型 javax.servlet.ServletResponse 作用域 page
pageContext 页面上下文对象 类型 javax.servlet.jsp.PageContext 作用域 page
session 会话对象 类型 javax.servlet.http.HttpSession 作用域 Session
application 应用程序对象 类型 javax.servlet.ServletContext 作用域 Application
out 输出对象 类型 javax.servlet.jsp.JspWriter 作用域 page
config 配置对象 类型 javax.servlet.ServletConfig 作用域 page
page 页面对象 类型 java.lang.Object 作用域 page
exception 例外对象 类型 java.lang.Throwable 作用域 page

JSP九大内置对象分为四类:

  • 输入输出对象:out对象、response对象、request对象
  • 通信控制对象:pageContext对象、session对象、application对象
  • Servlet对象: page对象、config对象
  • 错误处理对象:exception对象

* 九种对象简介:

  1. out对象:用于向客户端、浏览器输出数据。
  2. request对象:封装了来自客户端、浏览器的各种信息。
  3. response对象:封装了服务器的响应信息
  4. exception对象:封装了jsp程序执行过程中发生的异常和错误信息。
  5. config对象:封装了应用程序的配置信息。
  6. page对象:指向了当前jsp程序本身。
  7. session对象:用来保存会话信息。也就是说,可以实现在同一用户的不同请求之间共享数
  8. application对象:代表了当前应用程序的上下文。可以在不同的用户之间共享信息。
  9. pageContext对象:提供了对jsp页面所有对象以及命名空间的访问。

四大作用域

下面我们就通过一张简单的表格来看看各大作用域的信息共享范围:

作用域对象名 对应的接口名 对象名 作用范围
页面域 PageContext pageContext 一个页面
请求域 HttpServletRequest request 一个用户的一次请求
会话域 HttpSession session 一个用户的所有请求
上下文域 ServletContext application 所有用户的所有请求

  

       第一个作用域是page,他只前页面有效,也就是用户请求的页面有效,当当前页面关闭或转到其他页面时,page对象将在响应回馈给客户端后释放。

  第二个作用域是request,他在当前请求中有效,request可以通过setAttribute()方法实现页面中的信息传递,也可以通过forward()方法进行页面间的跳转,需要注意的是request是转发不是重定向,转发相对于浏览器来说是透明的,也就是无论页面如何跳转,地址栏上显示的依旧是最初的地址。

  第三个作用域是session,他在当前回话中有效。当一个台电脑上的同一浏览器对服务器进行多次访问时,在这多次访问之间传递的信息就是session作用域的范围。它从浏览器发出第一个HTTP请求即可认为会话开始,但是会话结束的时间是不确定的,因为在浏览器关闭时并不会通知服务器,一般Tomcat设置的默认时间为120分钟,也可以通过setMaxInactiveInterval(int)方法进行设置,或是通过invalidate()方法强制结束当前会话。

  第四个作用域是application,他在所有的应用程序中都有效,也就是当服务器开始到服务器结束这段时间,application作用域中存储的数据都是有效的,同样可以通过setAttribute赋值和getAttribute取值。

猜你喜欢

转载自www.cnblogs.com/homee/p/10068546.html