JSP九大内置对象和四大作用域

时间:2021-10-15 13:02:11

JSP内置对象是什么?包括几种?
内置对象就是JSP对应的java类中事先声明好、创建好的对象,可以在JSP中直接使用,不需要声明和实例化(即不需要定义和初始化。这些内置对象的类型都是Servlet API中定义的类型,如request的类型是HttpServletRequest,所以request可以调用HttpServletRequest接口中定义的任何方法。


包括九大内置对象,四个作用域(所谓"作用域"就是"信息共享的范围",也就是说一个信息能够在多大的范围内有效):


四大作用域:

一次请求(Request):HTTP请求开始到结束这段时间。

当前页面(Page):当前页面执行这段时间。

一次会话(Session):HTTP会话开始到结束这段时间(浏览器并连接到服务器开始,到关闭浏览器离开这个服务器结束。

整个应用运行期间(Application):应用(服务器)启动到停止这段时间。


1、request请求对象,类型:HttpServletRequest,作用域:一次请求(Request)

作用:向客户端请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)

<% =request.getParameter("title") %><br>
<% Cookie[] cookies = request.getCookies(); %>
request是HttpServletRequest类型的对象,可以在JSP中直接通过request调用HttpServletRequest接口中的任何方法。

上述代码中使用request调用了getParameter方法获得title请求参数的值,使用getCookies方法返回所有Cookie对象。

2、response响应对象,类型:HttpServletResponse,作用域 :当前页面(Page)

作用:响应客户端的请求,主要是封装jsp产生的响应,然后发送到客户端

<% response.addCookie(new Cookie("hobby","reading")); %>
<% response.sendRedirect("index.jsp"); %>
上述代码中使用response调用addCookie方法往响应中添加cookie,使用sendRedirect方法进行响应重定向。

3、session会话对象,类型:HttpSession,作用域:一次会话(Session)

作用:跟踪对话(每个用户的操作状态),对会话期进行管理。

<% =session.getAttribute("count") %>
上述代码中使用会话的getAttribute方法返回count属性的值,显示到浏览器中。

4、pageContext页面上下文对象,类型:javax.servlet.jsp.PageContext,作用域:当前页面(Page)

作用:主要用于访问JSP之间的共享数据。

application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
如图,JSP中的application、session、config、out内置对象都是通过pageContext对象获得的。所有的内置对象都自动地被添加到pageContext对象中。pageContext也可以存储属性,具有setAttribute、getAttribute、removeAttribute等方法,可以对pageContext中的属性进行处理。

5、application应用程序对象,类型:ServletContext,作用域:整个应用运行期间(Application)

作用:实现用户间数据的共享。

<% =application.getAttribute("count") %>
上述代码中使用上下文的getAttribute方法返回属性count的值,并显示到浏览器中。

6、out输出对象,类型:JspWriter,作用域 :当前页面(Page)

作用:用来向客户端输出数据。但是<%=%>可以更为便捷的进行输出,所有JSP文件中很少使用out对象进行输出。

7、exception例外对象,类型:Throwable,作用域 :当前页面(Page)

作用:显示运行时的异常信息。默认情况下不会生成这个对象,当JSP页面被指定为错误页面时,才会有这个对象。

8、page页面对象,类型:javax.lang.Object,作用域 :当前页面(Page)

作用:指向当前JSP页面本身,类似于类中的this指针

9、config配置对象,类型:javax.servlet.ServletConfig,作用域 :当前页面(Page)

作用:主要作用是取得服务器的配置信息。