推荐答案
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();
%>