JSP中九大内置对象与四大作用域

时间:2021-07-09 13:01:48

四大作用域:


1.servletcontext域(application域)

  • 作用的范围是:整个web应用程序。
    数据产生之后,不仅等会还要用 ,还要给别人用,则使用servletcontext。

  • 作用域的作用:由于一个web应用中的所有servlet共享同一个servletcontext对象,所以多个servlet通过servletcontext对象实现了数据在不同servlet之间的共享

  • 作用域的优缺点:JSP中可嵌入java代码,这使得它接收java数据变得可能。同时,由于servletcontext域可使整个web应用共享该数据,因此而带来“线程安全”问题同样影响对转发的数据,故而需要使用request域。

  • 它是四个域中范围最大的域。

2.Httpsession域(session域)

  • 作用的范围是:一次会话。
    数据产生之后显示给用户了,等会还要使用的情况下使用Httpsession域。

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

  • 它是四个域中范围第二大的域。

3.ServletRequest域(request域)

  • 作用的范围是:整个请求链(请求转发也存在)。
    数据产生之后,只需要使用一次,这种情况下请使用ServletRequset域。
    它是四个域中范围排第三的域。

  • 作用域的作用: 在整个请求链*享数据。
      最常用到:在servlet中处理好的数据交给JSP显示,此时参数就可以放置在ServletRequset域

  • 它是四个域中范围排第三的域。

4.ageContext域(page域)

  • 作用的范围是:
    PageContext域的作用范围是:整个JSP页面。

  • 作用域的作用:  
    1).它可以获取其它八大隐式对象,可以认为它是一个入口对象。
    2).获取其它所有域中的数据。
    3).跳转到其它资源。其身上提供了forword和sendRedirect方法,简化了转发和重定向的操作 

  • 它是四个域中范围最小的一个域。

九大内置对象:


request、response、out、
session、application、pageContext、
page、config、
exception

内置对象(又叫隐含对象)特点:
1. 由JSP规范提供,不用编写者实例化。
2. 通过Web容器实现和管理
3. 所有JSP页面均可使用
4. 只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%>或<%使用内置对象%>)

JSP中九大内置对象与四大作用域

对象名 功能 类型 作用域
request 向客户端请求数据 javax.servlet.ServletRequest Request
response 封装了jsp产生的响应,然后被发送到客户端以响应客户的请求 javax.servlet.SrvletResponse Page
pageContext 为JSP页面包装页面的上下文。管理对属于JSP中特殊可见部分中己经命名对象的该问 javax.servlet.jsp.PageContext Page
session 用来保存每个用户的信息,以便跟踪每个用户的操作状态 javax.servlet.http.HttpSession Session
application 应用程序对象 javax.servlet.ServletContext Application
out 向客户端输出数据 javax.servlet.jsp.JspWriter Page
config 表示Servlet的配置,当一个Servlet初始化时,容器把某些信息通过此对象传递给这个Servlet javax.servlet.ServletConfig Page
page Jsp实现类的实例,它是jsp本身,通过这个可以对它进行访问 javax.lang.Object Page
exception 反映运行的异常 javax.lang.Throwable Page