九大内置对象,都是我们可以在【代码脚本】中或【表达式脚本】中直接使用的对象。
- pageContext :当前页面的域对象
- request :当前请求的域对象
- session :当前session的域对象
- application :当前服务器的域对象
- page :当前对象this
- response :当前响应的对选哪个
- config :当前servlet的配置信息
- out :当前页面的输出流
- exception :当前页面的异常对象
pageContext
-
类型:PageContext
-
定义:代表页面域对象,用来代表整个JSP页面。
-
作用:
-
页面域对象,
-
九大隐式对象的“大哥”,可以直接调用其他八大隐式对象。
-
-
在Servlet中获取方式:无。
request
-
类型:HttpServletRequest
-
定义:代表浏览器向服务器发送的请求报文,该对象由服务器创建,最终以参数的形式发送到doGet()和doPost()方法中。
每当客户端请求一个JSP页面时,JSP引擎就会制造一个新的request对象来代表这个请求。request对象提供了一系列方法来获取HTTP头信息,cookies,HTTP方法等等。
-
作用(详见Servlet中request对象)
-
获取请求参数
-
获取url地址参数
-
请求转发
-
向请求域中保存数据(获取数据&移除数据)
-
获取请求头信息
-
-
在Servlet中获取方式:doGet()或doPost()中直接使用。
session
-
类型:HttpSession
-
定义:代表浏览器与服务器之间的会话。
-
作用
-
会话域对象,
session对象用来跟踪在各个客户端请求间的会话。
-
-
在Servlet中获取方式 :request.getSession();
application
-
类型:ServletContext
-
定义:Servlet上下文,代表当前web应用。
Web容器在启动时,它会为每个Web应用程序都创建一个唯一对应的ServletContext对象,意思是Servlet上下文,代表当前Web应用。
-
作用
-
获取项目的上下文路径(带/的项目名):getContextPath()
-
获取虚拟路径所映射的本地真实路径:getRealPath(String path)
-
获取WEB应用程序的全局初始化参数(基本不用)
-
设置Web应用初始化参数的方式是在web.xml的根标签下加入如下代码
<web-app> <!-- Web应用初始化参数 --> <context-param> <param-name>ParamName</param-name> <param-value>ParamValue</param-value> </context-param> </web-app>
-
获取Web应用初始化参数
@Override public void init(ServletConfig config) throws ServletException { //1.获取ServletContext对象 ServletContext application = config.getServletContext(); //2.获取Web应用初始化参数 String paramValue = application.getInitParameter("ParamName"); System.out.println("全局初始化参数paramValue="+paramValue); }
-
-
作为域对象共享数据:
-
-
在Servlet中获取方式:使用this.getServletContext()方法获取。
page
-
类型:Object
-
作用:this,当前类对象。
response
-
类型:HttpServletResponse
-
定义:代表服务器向浏览器发送的响应报文,该对象由服务器创建,最终以参数的形式发送到doGet()和doPost()方法中。
-
作用:
-
向页面(响应体)中响应数据,数据包括文本、Html等。
-
重定向
-
设置响应头信息
-
-
在Servlet中获取方式:doGet()或doPost()中直接使用
config
-
类型:ServletConfig
-
定义:代表当前Servlet的配置信息,每一个Servlet都有一个唯一对应的ServletConfig对象。
-
作用:
-
获取Servlet名称:getServletName()
-
获取全局上下文ServletContext对象:getServletContext()
-
获取Servlet初始化参数:getInitParameter(String) / getInitParameterNames()。
-
-
在Servlet中获取方式:this.getServletConfig()
out
-
类型:JspWriter
-
定义:代表当前页面的输出流。
-
作用:与Servlet中的PrintWriter功能类似,将数据响应到页面,响应的数据可以是页面、页面片段、字符串等。
-
在Servlet中获取方式:无
exception
-
类型:Throwable
-
定义:代表当前页面的异常对象。
-
作用:捕获处理页面中的异常信息。
-
在Servlet中获取方式:new Throwable()
域对象:
域对象的简介:
程序中的域对象,主要负责在不同的web之间进行数据交换,(就比如servlet和jsp之间的数据交换)。由于不同的web资源之间需要共享数据,所以就有了域对象。JSP中有四个域对象:pageContext 、request、session、application 。作用是在一定范围内共享数据。
作用范围:
域对象 | 作用范围 | 起始时间 | 结束时间 |
---|---|---|---|
pageContext | 当前JSP页面 | 页面加载 | 离开页面 |
request | 同一个请求 | 收到请求 | 响应 |
session | 同一个会话 | 开始会话 | 结束会话 |
application | 当前Web应用 | Web应用加载 | Web应用卸载 |