咸鱼入门到放弃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】

作用域限于一次会话(多次请求与响应) 当中。

  • application 【ServletContext】

整个工程都可以访问, 服务器关闭后就不能访问了。

    • 当前页:一个属性只能在一个页面中取得,跳转到其他页面无法取得

    • 一次服务器请求:一个页面中设置的属性,只要经过了服务器跳转,则跳转之后的页面可以继续取得。

    • 一次会话:一个用户设置的内容,只要是与此用户相关的页面都可以访问(一个会话表示一个人,这个人设置的东西只要这个人不走,就依然有效)

    • 上下文中:在整个服务器上设置的属性,所有人都可以访问

  • out 【JspWriter】

  • response 【HttpServletResponse】

  • exception 【Throwable】(wrongpage=true时才可设置)

  • page 【Object】 ---就是这个jsp翻译成的java类的实例对象

  • config 【ServletConfig】

原文地址:https://www.cnblogs.com/lvoooop/p/10651213.html