在JavaServer Pages(JSP)技术中,内置对象是服务器为每个JSP页面自动创建的对象。这些对象封装了与服务器环境交互的功能,使得开发人员无需在代码中显式地创建这些对象,从而简化了Web应用程序的开发。下面,我们将详细介绍JSP的九大内置对象及其对应的包实例。
1. out对象
out对象是JSP页面输出流的代表,它封装了PrintWriter类,用于将内容输出到客户端。其包实例为`javax.servlet.jsp.JspWriter`。

| 属性/方法 | 说明 |
|---|---|
| `voidprint(Strings)` | 将字符串s输出到客户端。 |
| `voidprintln(Strings)` | 将字符串s输出到客户端,并在末尾添加换行符。 |
| `voidflush()` | 刷新输出流,将缓冲区内容输出到客户端。 |
| `voidclose()` | 关闭输出流,并释放相关资源。 |
2. request对象
request对象代表了客户端发出的请求,它封装了请求的所有信息,如请求方法、参数等。其包实例为`javax.servlet.http.HttpServletRequest`。
| 属性/方法 | 说明 |
|---|---|
| `StringgetMethod()` | 获取请求方法,如GET、POST等。 |
| `StringgetParameter(Stringname)` | 获取指定名称的请求参数值。 |
| `String[]getParameterValues(Stringname)` | 获取指定名称的请求参数值的数组。 |
| `Enumeration | 获取所有请求参数名称的枚举。 |
3. response对象
response对象代表了服务器对客户端的响应,它封装了响应的所有信息,如状态码、头部等。其包实例为`javax.servlet.http.HttpServletResponse`。
| 属性/方法 | 说明 |
|---|---|
| `voidsetContentType(Stringtype)` | 设置响应内容的MIME类型。 |
| `voidsetStatus(intstatus)` | 设置HTTP响应状态码。 |
| `voidaddHeader(Stringname,Stringvalue)` | 添加响应头部信息。 |
| `voidsetHeader(Stringname,Stringvalue)` | 设置响应头部信息。 |
4. session对象
session对象代表了客户端的会话,它用于存储和跟踪用户在应用程序中的状态信息。其包实例为`javax.servlet.http.HttpSession`。
| 属性/方法 | 说明 |
|---|---|
| `voidsetAttribute(Stringname,Objectvalue)` | 设置会话属性值。 |
| `ObjectgetAttribute(Stringname)` | 获取会话属性值。 |
| `voidremoveAttribute(Stringname)` | 移除会话属性。 |
| `voidinvalidate()` | 使会话失效。 |
5. application对象
application对象代表了整个Web应用程序,它用于存储应用程序级别的共享数据。其包实例为`javax.servlet.ServletContext`。
| 属性/方法 | 说明 |
|---|---|
| `voidsetAttribute(Stringname,Objectvalue)` | 设置应用程序属性值。 |
| `ObjectgetAttribute(Stringname)` | 获取应用程序属性值。 |
| `voidremoveAttribute(Stringname)` | 移除应用程序属性。 |
| `Enumeration | 获取所有应用程序属性名称的枚举。 |
6. pageContext对象
pageContext对象代表了当前页面的上下文,它包含了其他所有内置对象的引用。其包实例为`javax.servlet.jsp.PageContext`。
| 属性/方法 | 说明 |
|---|---|
| `JspWritergetOut()` | 获取当前页面的out对象。 |
| `HttpServletRequestgetRequest()` | 获取当前页面的request对象。 |
| `HttpServletResponsegetResponse()` | 获取当前页面的response对象。 |
| `ServletContextgetServletContext()` | 获取当前页面的application对象。 |
| `PageContextgetPageContext()` | 获取当前页面的pageContext对象。 |
| `HttpSessiongetSession()` | 获取当前页面的session对象。 |
7. exception对象
exception对象代表了当前页面上抛出的异常,它用于处理异常情况。其包实例为`javax.servlet.jsp.JspException`。
| 属性/方法 | 说明 |
|---|---|
| `ThrowablegetThrowable()` | 获取抛出的异常对象。 |
| `voidprintStackTrace(JspWriterout)` | 将异常信息输出到客户端。 |
8. config对象
config对象代表了当前页面的配置信息,它封装了ServletConfig接口。其包实例为`javax.servlet.ServletConfig`。
| 属性/方法 | 说明 |
|---|---|
| `StringgetServletName()` | 获取当前Servlet的名称。 |
| `StringgetInitParameter(Stringname)` | 获取指定名称的初始化参数值。 |
| `Enumeration | 获取所有初始化参数名称的枚举。 |
9. page对象
page对象代表了当前JSP页面本身,它封装了当前页面的类信息。其包实例为`java.lang.Object`。
| 属性/方法 | 说明 |
|---|---|
| `ObjectgetClass()` | 获取当前页面的类对象。 |
| `voidsetAttribute(Stringname,Objectvalue)` | 设置页面属性值。 |
| `ObjectgetAttribute(Stringname)` | 获取页面属性值。 |
| `voidremoveAttribute(Stringname)` | 移除页面属性。 |
JSP九大内置对象为Web应用程序的开发提供了极大的便利。通过了解这些对象及其对应的包实例,我们可以更好地利用JSP技术构建高效的Web应用程序。







