JSP容器提供了一些对象,它们在脚本中是自动可用的, 通过它们, 您可以访问到web应用程序中的各种数据。这些是JSP中常用的对象包括:
application 对象(应用程序对象)其生命周期中代表着JSP页面。应用程序对象是在JSP页面初始化、或JSP页面重新编译时创建的。JSP页面中的任何对象都可以访问应用程序对象的信息。
<%= application.getServerInfo()%> GlassFish Server Open Source Edition
5.0
<%= application.getVirtualServerName()%> server
config 对象(配置对象)允许您访问Servlet和JSP引擎的初始化参数。配置对象是javax.servlet.ServletConfig类的一个实例。
javax.servlet.ServletConfig
<%= config.getInitParameterNames(); %>
<%= config.getServletName(); %> jsp
exception 对象(异常对象)包含前一个JSP页面抛出的异常。可以使用exception对象生成比较友好的错误消息。
输出流通过out对象开放给JSP。out对象是类javax.servlet.jsp.JspWriter的一个实例。out对象可以是输出流或过滤流。您可以使用out对象方法(例如out.println()方法)将数据发送到输出流,JSP将会处理其余的工作。
javax.servlet.jsp.JspWriter
<% out.println(
"Hello World!"
);%> Hello World!
page对象(页面对象)是JSP页面的实例。通过使用page对象,我们可以调用页面的servlet的任何方法。
pageContext对象(页面上下文对象)表示整个JSP页面。可以使用pageContext对象获取页面的属性。pageContext对象是类javax.servlet.jsp.pagecontext的一个实例。
javax.servlet.jsp.pagecontext
每次客户端请求JSP页面时,JSP引擎都会创建一个新request对象(请求对象)。请求对象是类javax.servlet.http.HttpServletRequest的一个实例。请求对象包了当前HTTP请求和客户端的所有信息。请注意,请求对象仅在当前请求的范围内可用。请求对象会在每个新请求中重新被创建。
请求对象
javax.servlet.http.HttpServletRequest
通过使用请求对象的方法,您可以访问各种类型的数据,如HTTP报头、url中的查询字符串、cookie等
<%= request.getHeaderNames() %><br>
<%= request.getLocalAddr()%><br>
<%= request.getLocalName()%><br>
<%= request.getRemoteAddr()%><br>
<%= request.getRemoteHost()%><br>
JSP还创建了response 对象(响应对象),它是类javax.servlet.http.HttpServletResponse的一个实例。用于对客户端进行响应。通过这个对象,您可以添加新的cookie并更改页面的MIME内容类型。此外,响应对象还包含了HTTP的其他信息,比如HTTP状态码。
javax.servlet.http.HttpServletResponse
响应对象
<%= response.getStatus() %>
session对象用于在多个请求之间跟踪客户端的信息。session对象是类javax.servlet.http.HttpSession的一个实例。由于HTTP是无状态连接的, 所以要从不同连接之间识别是否是同一个用户,需要用到session对象,每个用户拥有唯一的会话标识。session对象在服务器端可用,因此它可以帮助您在多个请求之间保持应用程序的状态。您可以使用session对象来存储客户端请求之间的任意信息。
javax.servlet.http.HttpSession
原文链接:https://codingdict.com/