九大内置对象及四大作用域

2022-07-26,,

九大内置对象(隐含对象)

  • PageContext:提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的Session,也可以取本页面所在的application的某一属性值作用域page
  • Request:代表的是来自客户端的请求作用域为request(用户请求期)
  • Response:代表的是对客户端的响应作用域为page(页面执行期)
  • Session:指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止,作用域session(会话期)
  • Application:实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作,作用域application
  • config:是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象),作用域 page
  • out:是JspWriter类的实例,是向客户端输出内容常用的对象 。作用域为page(页面执行期)
  • exception:是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译,作用域page
  • page

四大作用域

  • page:只在一个页面保留数据(javax.servlet.jsp.PageContext(抽象类))
  • request:只在一个请求中保存数据(javax.servlet.httpServletRequest)
  • Session:在一次会话中保存数据,仅供单个用户使用(javax.servlet.http.HttpSession)
  • Application(ServletContext):在整个服务器中保存数据,全部用户共享(javax.servlet.ServletContext)

作用域从小到大为:PageContext(jsp页面),ServletRequest(一次请求),HttpServlet(一次会话),ServletContext(整个web应用)

pageContext.setAttribute("name1", "张三");  //保存的数据只在一个页面中有效
request.setAttribute("name2", "李四");  //保存的数据只在一次请求中有效,请求转发会携带这个数据
//使用session和application可以在其他页面访问,而pageContext和request不行
session.setAttribute("name3", "王二");  //保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器
application.setAttribute("name4", "麻子");  //保存的数据只在服务器中有效,从打开服务器到关闭服务器

本文地址:https://blog.csdn.net/weixin_46649583/article/details/111029840

《九大内置对象及四大作用域.doc》

下载本文的Word格式文档,以方便收藏与打印。