JSP九大内置对象与四大域对象

时间:2022-01-24 13:06:57

一、九大内置对象

  (1) request HttpServletRequest
  (2) response HttpServletResponse
  (3) config ServletConfig
  (4) application ServletContext
  (5) session HttpSession
  (6) exception Throwable
  (7) page Object(this)
  (8) out JspWriter
  (9) pageContext PageContext

二、四大域对象(前三种也是Servlet三个域对象)

  1. HttpSession

    (1) 使用:调用request.getSession()的方法。

    (2)生命周期:在第一次调用 request.getSession() 方法时,服务器会检查是否已经有对应的session,如果没有就在内存中创建一个session并分配一个id返回。当一段时间内session没有被使用(默认为30分钟),则服务器会销毁该session; 如果服务器非正常关闭,没有到期的session也会跟着销毁;如果调用session提供的invalidate(), 可以立即销毁session。

       注意:服务器正常关闭,再启动,Session对象会进行钝化和活化操作。同时如果服务器钝化的时间在session 默认销毁时间之内,则活化后session还是存在的,否则Session不存在。

  2. ServletRequest

    (1) 使用:调用request方法。

    (2) 生命周期:在service 方法调用前由服务器创建,传入service方法。整个请求结束,request生命结束。

  3. ServletContext

    (1) 使用:调用request.getSession().getServletContext()或this.getServletContext()方法。

    (2) 生命周期:当Web应用被加载进容器时创建代表整个web应用的ServletContext对象,存在于全局当中,当服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。  

  4. PageContext

    (1) 使用:调用PageContext pageContext = javax.servlet.jsp.JspFactory.getDefaultFactory().getPageContext(this, request, response, null, true, 8192, true)方法(Servlet调用方法)

    (2) 生命周期:当对JSP的请求时开始,当响应结束时销毁。