JSP四大作用域和九个内置对象
四大作用域的作用是为了实现页面和服务器共享数据。
page:设置的属性令在当前页面有效。实际开发中较少使用,作用域太小了。request:属性仅在本次请求有效。session:令在浏览器和服务进行本次会话有效,当和服务器断开后,属性失效。application:属性在整个WEB应用中都有效,直到服务器停止才失效。实际开发中几乎不使用,作用域太大了。
四大作用域分别都有设置和获取属性的两个方法:setAttribute()、getAttribute()
9个隐式对象
| 对象 | JSP类型 | 作用域 | 生命周期 | |
|---|---|---|---|---|
| 1 | request | javax.servlet.http.HttpServletRequest | Request | 本次请求有效 |
| 2 | response | javax.servlet.http.HttpServletResponse | Page | 当前页面有效 |
| 3 | session | javax.servlet.http.HttpSession | Session | 本次会话有效,和服务器断开后失效 |
| 4 | application | javax.servlet.ServletContext | Application | 整个WEB应用中都有效,直到服务器停止才失效 |
| 5 | config | javax.servlet.ServletConfig | Page | 当前页面有效 |
| 6 | out | javax.servlet.jsp.JspWrite | Page | 当前页面有效 |
| 7 | page | javax.servlet.jsp.HttpJspPage | Page | 当前页面有效 |
| 8 | pageContext | javax.servlet.jsp.PageContext | Page | 当前页面有效 |
| 9 | exception | javax.lang.Throwable | Page | 当前页面有效 |
request对象
用于获取客户端信息,如页面提交的表单信息。JSP 容器会将客户端的请求信息封装在 request 对象中。在客户端发出请求时创建 request 对象,在请求结束后销毁对象。request.getParameter()默认字符编码是ISO-8859-1,中文会显示乱码,需要设置编码格式:request.setCharacterEncoding("UTF-8");
response对象
response 对象封装响应数据返回给客户端。常用于设置 HTTP 标题、添加 cookie、设置响应内容的类型 和状态,发送 HTTP 重定向和编码 URL。
response 的一个主要应用是重定向,可以通过 response 的sendRedirect(String url)实现。
重定向:通知浏览器跳转请求,浏览器地址发生改变,由浏览器操作。
out对象
out对象是一个缓冲输出流,用来向客户端返回信息。
典型应用就是向客户端输出数据。
session对象
session对象是会话对象,用来记录每个客户端的访问状态。
session数据保存在服务器。cookie数据保存在浏览器。
会话:浏览器与服务器建立连接,到关闭浏览器与服务器断开连接的过程。
application对象
用于获取和设置Servlet的相关信息,它的生命周期从服务器启动直到服务器半闭为止。封装了JSP所在的WEB应用中的信息。
如:统计访问网站人数。
pageCntext对象
比较特殊,不仅可以设置page范围内的属性,还可以设置其他范围的属性;还可以访问本页面中的所有其他对象。
因其它对象有各自的方法,此对象实际使用并不多。
page对象
指当前的 JSP 页面本身,它是java.lang.Object类的对象。实际使用不多。
config对象
config对象是 ServletConfig 类的一个实例,在 Servlet 初始化时,可以通过 config 向 Servlet 传递信息。
JSP开发很少用到,当需要重载Servlet的init()方法时才会用到 config 对象。可以获取 Servlet 相关信息。
exception对象
exception对象是java.lang.Throwable类的对象。
在JSP开发中,习惯是在一个页面中使用 page 指令的 errorPage 属性,让该属性指向一个专门用于异常处理的页面。如果在 JSP 页面中有未捕获的异常 ,则会生成exception对象,然后将该exception对象传送给 page 指令设置的异常处理页面中,在异常 得理页面中对exception对象进行处理。
在异常处理页面中需要将其 page 指令的isErrorPage属性设置为 true 才可以使用 exception 对象。
JSP四大作用域和九个内置对象

