推荐答案
JSP 的内置对象包括以下 9 个:
- request:表示客户端的请求,封装了 HTTP 请求的所有信息。
- response:表示服务器对客户端的响应,封装了 HTTP 响应的所有信息。
- session:表示客户端与服务器之间的会话,用于跟踪用户的状态。
- application:表示整个 Web 应用程序的上下文,用于在多个用户之间共享数据。
- out:用于向客户端发送文本内容的输出流。
- config:表示当前 JSP 页面的配置信息。
- pageContext:提供了对 JSP 页面所有对象和命名空间的访问。
- page:表示当前 JSP 页面本身,类似于 Java 中的
this
关键字。 - exception:表示 JSP 页面运行时抛出的异常对象,仅在错误页面中可用。
本题详细解读
1. request 对象
request
对象是 javax.servlet.http.HttpServletRequest
的实例,封装了客户端请求的所有信息,包括请求参数、请求头、请求方法等。通过 request
对象,可以获取用户提交的数据。
<% String username = request.getParameter("username"); %>
2. response 对象
response
对象是 javax.servlet.http.HttpServletResponse
的实例,用于向客户端发送响应。可以通过 response
对象设置响应头、响应状态码以及输出内容。
<% response.setContentType("text/html"); response.getWriter().println("Hello, World!"); %>
3. session 对象
session
对象是 javax.servlet.http.HttpSession
的实例,用于在多个请求之间保持用户的状态。session
对象通常用于存储用户登录信息、购物车内容等。
<% session.setAttribute("user", "JohnDoe"); String user = (String) session.getAttribute("user"); %>
4. application 对象
application
对象是 javax.servlet.ServletContext
的实例,表示整个 Web 应用程序的上下文。application
对象用于在多个用户之间共享数据,通常用于存储全局配置信息。
<% application.setAttribute("appName", "MyWebApp"); String appName = (String) application.getAttribute("appName"); %>
5. out 对象
out
对象是 javax.servlet.jsp.JspWriter
的实例,用于向客户端发送文本内容。out
对象类似于 System.out
,但专门用于 JSP 页面。
<% out.println("This is a message from the server."); %>
6. config 对象
config
对象是 javax.servlet.ServletConfig
的实例,表示当前 JSP 页面的配置信息。通过 config
对象,可以获取初始化参数。
<% String initParam = config.getInitParameter("myParam"); %>
7. pageContext 对象
pageContext
对象是 javax.servlet.jsp.PageContext
的实例,提供了对 JSP 页面所有对象和命名空间的访问。pageContext
对象可以用于获取其他内置对象。
<% HttpServletRequest req = (HttpServletRequest) pageContext.getRequest(); %>
8. page 对象
page
对象是 java.lang.Object
的实例,表示当前 JSP 页面本身。page
对象类似于 Java 中的 this
关键字,通常用于访问当前页面的方法和属性。
<% String pageInfo = page.toString(); %>
9. exception 对象
exception
对象是 java.lang.Throwable
的实例,表示 JSP 页面运行时抛出的异常对象。exception
对象仅在错误页面中可用,用于处理异常情况。
<%@ page isErrorPage="true" %> <% String errorMessage = exception.getMessage(); %>