当前位置: 首页 > 图灵资讯 > 技术篇> 你知道JavaWeb四大作用域

你知道JavaWeb四大作用域

来源:图灵教育
时间:2021-12-27 13:09:44

  在此,小编将为您详细解析Javaweb的四个作用域。四个主要作用域为:PageContext(jsp页面)、ServletRequest(一次请求)、HttpSession(一次会话)、ServletContext(完整的web应用)。我相信你对四个作用域并不陌生,但是你们真的知道吗?

JavaWeb的四个主要范围。

  一,页面上下文域:

  这个范围就是整个JSP页面,在这四个作用域中最小;生命周期是请求JSP开始,响应结束后销毁。

  二,服务请求域:

  其范围是整个请求链(也存在请求转发);生命周期由服务器创建,然后再传递service方法。所有的请求结束,request生命结束。

  三,HttpSession域:

  适用范围为单一会议。当第一次调用request.getSession()方法时,服务器将检查是否已有相应的session,如果未在内存中创建session并返回。如果session在一段时间内未使用(默认为30分钟),那么服务器将销毁session。在异常关机(强制关机)的情况下,不过期的session将随服务器一起销毁。如果session提供的invalidate()调用,session就会被立即销毁。

  注:服务器正常关闭,重新启动,Session对象执行钝化和激活操作。还可以看到激活后session的session的默认销毁时间内,激活后session仍然存在。不然Session不存在。当Session激活时,如果Javabean数据被挂起,没有实现Serializable就会在Session激活时消失。

  四,服务器上下文域:

  涉及整个Web应用程序。在将Web应用加载到容器时,创建代表整个web应用程序的ServletContext对象,并在服务器关闭或Web应用被删除时随之销毁ServletContext对象。

  简单地说,JavaWeb的四个主要作用域如下:

  PageContext:在此页面中有效,跳过网页无效;

  ServletRequest:跨页的工作,通常用于表单提交等;

  HttpSession:用于特定的会话;

  ServletContext:始终有效,在服务器关闭后失效。