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应用程序中的请求、会话、输出等任务。