JSP(JavaServer Pages)是一种用于开发动态Web应用程序的Java技术,它提供了一组内置对象和作用域,用于在JSP页面中访问和处理数据。
- request(请求对象):代表客户端的HTTP请求,包含了客户端发送的参数和数据。
- response(响应对象):代表服务器对客户端的HTTP响应,用于向客户端发送数据和控制响应的行为。
- session(会话对象):代表客户端和服务器之间的会话,用于在多个请求之间共享数据。
- application(应用程序对象):代表整个Web应用程序,用于在不同的用户会话之间共享数据。
- out(输出对象):用于向客户端发送输出,可以将内容直接写入响应流中。
- config(配置对象):代表当前JSP页面的配置信息,例如JSP页面的初始化参数。
- page(页面对象):代表当前JSP页面本身,可以用于调用JSP页面中定义的方法。
- pageContext(页面上下文对象):提供了对当前JSP页面上下文的访问,包括其他内置对象的访问。
- exception(异常对象):代表在JSP页面中发生的异常,可以用于处理异常情况。
有些对象在JSP页面种不需要声明和实例化,可以直接在Java程序片和Java表达式部分使用,通常称这样的对象为JSP内置对象。JSP内置对象由Web服务器负责实现和管理,JSP自带了9个功能强大的内置对象,共分为四大类。
1、与 Input/Output 有关的内置对象
与Input/Output 有关的内置对象包括 request、response 和 out,该类对象主要用来作为客户端和服务器间通信的桥梁。
request 对象表示客户端对服务器端发送的请求;
response对象表示服务器对客户端的响应;
而 out 对象负责把处理结果输出到客户端。
2、与 Context?有关的内置对象
与 Context(上下文)有关的内置对象包括 session、application 和 pageContext。其中,session 对象表示浏览器与服务器会话的上下文环境;
application 对象表示应用程序(Web应用)的上下文环境;
pageContext 对象表示当前的JSP页面的上下文环境。
3、与 Servlet 有关的内置对象
与 Servlet 有关的内置对象包括 page?和 config。
page 对象表示JSP 文件转换为 Java文件后的 Servlet 对象;
config 对象表示 JSP 文件转換为 Java 文件后的 Servlet 的 ServletConfig对象。
4、与 Error 有关的内置对象
与 Error 有关的内置对象只有exception 对象。当JSP 网页有错误时将产生异常,该对象就是用来处理这个异常。
对象的作用域就是对象的生命周期和可访问性,在JSP 中有4种作用域,即页面域、请求域、会话域和应用域。
1、页面域
页面域(page scope)的生命周期是指页面执行期间,存储在页面域中的对象只能在它所在的页面被访问。
2、 请求域
请求域(request scope)的生命周期是指一次请求过程,包括请求被转发(forward)或者被包含(include)的情况,存储在请求域中的对象只有在此次请求过程中才可以被访问。
3、 会话域
会话域(session scope)的生命周期是指某个客户端与服务器所连接的时间,客户端在第1次访问服务器时创建会话,在会话过期或用户主动退出后会话结束,存储在会话域中的对象在整个会话期间(可以包含多次请求)都可以被访问。
4、应用域
应用域(application scope)的生命周期是指从服务器开始执行服务到服务器关闭为止,其生命周期是4个作用域中时间最长的,存储在应用域中的对象在整个应用程序运行期间可以被所有 JSP 和Servlet 共享访问。
JSP 的4种作用域分别对应 pageContext、request、session 和 application 内置对象,这 4 个内置对象都可以通过 setAttribute(String key, Object value)方法存储数据,通过getAttribute(String key) 获取数据。
简单总结的话,可以归为下面这张图。