前言
今天这一期是认识JavaWeb中的9大内置对象和4个作用域,这个是个重点知识!!记起来(敲黑板···),长话短说,我们来通过图文的方式认识一下叭~
一、9大内置对象
由JSP自动创建的对象,可以直接使用
二、4个作用域
JSP有四大作用域对象,存储数据和获取数据的方式一样,不同的是取值的范围有差别,根据范围小到的顺序分别是pageContext、request、session、application。
pageContext (javax.servlet.jsp.PageContext)
范围:当前JSP页面范围
pageContext对象是javax.servlet.jsp.PageContext 类的实例,拥有作用域,用来代表整个
JSP页面。
当前页面的作用域对象,一旦跳转则失效通过setAttribute("name",value);
存储值通过getAttribute("name");
获取值用于获取其他8个内置对象或者操作其他对象的作用域
例:
存储值
<%
pageContext.setAttribute("name",value);//当前页面作用域有效
%>
获取值
<%
pageContext.getRequest();//返回request内置对象
pageContext.getResponse();//返回response内置对象
pageContext.getServletConfig();//返回config内置对象
pageContext.getException();//返回exception内置对象
pageContext.getPage();//返回page内置对象
pageContext.getOut();//返回out内置对象
pageContext.getServletContext();//返回application内置对象
pageContext.getSession();//返回session内置对象
%>
request (javax.servlet.http.HttpServletRequest)
范围: 一次请求有效
session (javax.servlet.http.HttpSession)
范围: 一次会话有效(关闭浏览器失效)
application (javax.servlet.ServletContext)
范围:整个Web应用有效(服务器重启或关闭失效)
示范代码:
<!--pageContext对象可以操作其他作用域存储和获取-->
<%
//操作其他作用域存储
pageContext.setAttribute("name",value);//当前页面有效
pageContext.setAttribute("name",value,PageContext.REQUEST_SCOPE);//request作用域
pageContext.setAttribute("name",value,PageContext.SESSION_SCOPE);//session作用域
pageContext.setAttribute("name",value,PageContext.APPLICATION_SCOPE);//application作用域
%>
<%
//操作其他作用域获取
pageContext.getAttribute("name");//当前页面作用域
pageContext.getAttribute("name",PageContext.REQUEST_SCOPE);//request作用域
pageContext.getAttribute("name",PageContext.SESSION_SCOPE);//session作用域
pageContext.getAttribute("name",PageContext.APPLICATION_SCOPE);//application作用域
pageContext.findAttribute("name");//从pageContext,request ,session ,application依次查找
%>
接下来我们通过一张图来更直观的认识4个作用域
以上就是全部内容,希望对大家有所帮助~