JSP——隐式对象(implicit object)

Servlet容器将几个对象传递给它所运行的Servlet。

例如,在Servlet的service方法中获得HttpServletRequest和HttpServletResponse,并在init方法中获得ServletConfig。

此外,还可以通过HttpServletRequest对象调用getSession方法获得一个HttpSession。

在JSP中,可以通过使用隐式对象的方式来获取这些对象。

隐式对象清单


response
类型:javax.servlet.http.HttpServletResponse

out
类型:javax.servlet.jsp.JspWriter
out对象引用javax.servlet.jsp.JspWriter,它类似于在HttpServletResonse中调用getWriter()之后得到的java.io.PrintWriter。
可以调用它的print方法重载PrintWriter,将消息发送到浏览器。

page
类型:javax.servlet.jsp.HttpJspPage


request
类型:javax.servlet.http.HttpServletRequest

request对象表示由Servlet/JSP容器传给Servlet的service方法的HttpServletRequest对象。

可以像使用HttpServletRequest对象的引用一样使用request。

如,以下代码是从HttpServletRequest对象中获取userName参数:

<%
    String userName = request.getParameter("userName");
%>

session
类型:javax.servlet.httpHttpSession

application
类型:javax.servlet.ServletContext

config
类型:javax.servlet.ServletConfig

pageContext
类型:javax.servlet.jsp.PageContext

pageContext是指为页面创建的javax.servlet.jsp.PageContext。
它提供了一些方法可以访问request、response等对象,不过这些方法用处不大,因为我们可以通过隐式对象来访问这些对象。

真正有用的是PageContext允许利用Expression Language访问这些对象。

PageContext提供的另一些重要的方法是那些存取属性,如getAttribute和setAttribute方法。属性可以保存在以下四种范围中:page、request、session以及application。

page范围最窄,保存在这里的属性只能在同一个JSP页面中使用。

request范围是指当前的ServletRequest。

session范围是指当前的HttpSession。

application范围是指ServletContext。

exception
类型:java.lang.Throwable

原文地址:https://www.cnblogs.com/weilu2/p/jsp_implicit_object.html