咸鱼入门到放弃8--jsp<三>jsp内置对象
NO. | 内置对象 | 类型 |
1 | pageContext | javax.servlet.jsp.PageContext |
2 | request | javax.servlet.http.HttpServletRequest |
3 | response | javax.servlet.http.HttpServletResponse |
4 | session | javax.servlet.http.HttpSession |
5 | application | javax.servlet.ServletContext |
6 | config | javax.servlet.ServletConfig |
7 | out | javax.servlet.jsp.JspWriter |
8 | page | java.lang.Object |
9 | exception | java.lang.Throwable |
##JSP内置对象
所谓内置对象,就是我们可以直接在jsp页面中使用这些对象。 不用创建。
-
pageContext
-
request
-
session
-
application
以上4个是作用域对象 ,
-
作用域
表示这些对象可以使用的范围有限定。 setAttribute 和 getAttribute
使用作用域来存储数据<br>
<%
pageContext.setAttribute("name", "page");
request.setAttribute("name", "request");
session.setAttribute("name", "session");
application.setAttribute("name", "application");
%>
取出四个作用域中的值<br>
<%=pageContext.getAttribute("name")%>
<%=request.getAttribute("name")%>
<%=session.getAttribute("name")%>
<%=application.getAttribute("name")%>
作用域范围大小:
pageContext -- request --- session -- application
四个作用域的区别
-
pageContext 【PageContext】
作用域仅限于当前的页面。
可以使用get***获取到其他八个内置对象。
-
request 【HttpServletRequest】
作用域仅限于一次请求, 只要服务器对该请求做出了响应。 这个域中存的值就没有了。
-
session 【HttpSession】
作用域限于一次会话(多次请求与响应) 当中。
整个工程都可以访问, 服务器关闭后就不能访问了。
-
-
当前页:一个属性只能在一个页面中取得,跳转到其他页面无法取得
-
一次服务器请求:一个页面中设置的属性,只要经过了服务器跳转,则跳转之后的页面可以继续取得。
-
一次会话:一个用户设置的内容,只要是与此用户相关的页面都可以访问(一个会话表示一个人,这个人设置的东西只要这个人不走,就依然有效)
-
上下文中:在整个服务器上设置的属性,所有人都可以访问
-
-
out 【JspWriter】
-
response 【HttpServletResponse】
-
exception 【Throwable】(wrongpage=true时才可设置)
-
page 【Object】 ---就是这个jsp翻译成的java类的实例对象
-
config 【ServletConfig】