jsp内置对象及方法详细介绍


JSP(JavaServer Pages)内置对象是一些预定义的对象,它们在JSP页面中可以直接使用,无需显式声明。这些对象提供了对Web应用程序中常见功能的访问,如请求处理、会话跟踪、输出响应等。下面是一些主要的JSP内置对象及其常用方法的简要介绍:

### 1. request

- **类型**:`javax.servlet.http.HttpServletRequest`

- **用途**:用于接收客户端的请求信息,包括表单数据、查询字符串参数、上传的文件等。

- **常用方法**:

- `getParameter(String name)`:根据参数名获取请求参数的值。

- `getParameterValues(String name)`:根据参数名获取请求参数的所有值(当参数名对应多个值时)。

- `getAttribute(String name)`:获取请求属性。

### 2. response

- **类型**:`javax.servlet.http.HttpServletResponse`

- **用途**:用于向客户端发送响应,包括状态码、响应头和响应体。

- **常用方法**:

- `getWriter()`:获取用于向客户端发送字符文本的`PrintWriter`对象。

- `sendRedirect(String location)`:发送一个临时重定向响应到客户端。

- `setContentType(String type)`:设置响应的内容类型。

### 3. session

- **类型**:`javax.servlet.http.HttpSession`

- **用途**:用于跟踪用户会话,存储用户数据。

- **常用方法**:

- `getAttribute(String name)`:根据名称获取会话属性。

- `setAttribute(String name, Object value)`:设置会话属性。

- `invalidate()`:使会话失效。

### 4. application

- **类型**:`javax.servlet.ServletContext`

- **用途**:代表整个Web应用程序的上下文,可用于在应用程序的不同组件之间共享数据。

- **常用方法**:

- `getAttribute(String name)`:根据名称获取应用程序范围的属性。

- `setAttribute(String name, Object object)`:设置应用程序范围的属性。

- `getRealPath(String path)`:返回与给定虚拟路径相对应的真实路径。

### 5. out

- **类型**:`javax.servlet.jsp.JspWriter`

- **用途**:用于向客户端发送输出内容。

- **常用方法**:

- `print(Object obj)`:打印对象到客户端。

- `println(Object obj)`:打印对象后换行。

- `flush()`:刷新输出流。

### 6. pageContext

- **类型**:`javax.servlet.jsp.PageContext`

- **用途**:提供了对JSP页面所有对象及命名空间的访问。

- **常用方法**:

- `getRequest()`:返回`request`对象。

- `getResponse()`:返回`response`对象。

- `getSession()`:返回`session`对象(如果当前没有会话,则可能创建新会话)。

- `getServletContext()`:返回`application`对象。

- `setAttribute(String name, Object value, int scope)`:在指定范围内设置属性。

### 7. config

- **类型**:`javax.servlet.ServletConfig`

- **用途**:用于访问Servlet的初始化参数。

- **常用方法**:

- `getInitParameter(String name)`:根据参数名获取初始化参数的值。

### 8. page

- **类型**:当前JSP页面转换成的Servlet的实例(`Object`类型,但实际上是该JSP页面对应的Servlet类的实例)

- **用途**:主要用于访问JSP页面本身定义的变量和方法。

- **注意**:通常不直接使用,而是通过脚本片段(scriptlet)直接访问页面级别的变量和方法。

### 9. exception

- **类型**:`javax.servlet.jsp.JspException`(或其子类)

- **用途**:仅在错误页面中可用,用于访问导致当前页面作为错误页面被调用的异常。

- **注意**:并非所有JSP页面都有`exception`对象,它仅在声明为错误处理页面的JSP中可用。

这些内置对象和方法为JSP页面提供了强大的功能,使得开发者能够轻松地处理Web应用程序中的请求、会话、输出等任务。