javaweb作用域对象,你都了解吗
今天小编就给大家详细分析一下JavaWeb的四大作用域。四大范围从小到大:PageContext(jsp页面)、ServletRequest(一个请求)、HttpSession(一个会话)、ServletContext(整个web应用)。相信大家对这四种javaweb作用域对象,但你真的了解吗?
一、PageContext 字段:
范围是整个JSP页面,是四个范围中最小的;生命周期在向 JSP 发出请求时开始,在响应结束时被销毁。
二、ServletRequest 字段:
范围是整个请求链(请求转发也存在);生命周期由服务器在调用服务方法并传递给服务方法之前创建。整个请求结束,请求生命周期结束。
三、HttpSession 域:
范围是一个会话。生命周期是当第一次调用request.getSession()方法时,服务端会检查是否已经存在对应的会话,如果没有则在内存中创建会话并返回。当会话在一段时间内(默认为 30 分钟)未使用时,服务器将销毁会话。如果服务器异常关闭(强制关闭),未过期的会话也会被销毁。如果调用session提供的invalidate(),可以立即销毁session。
注意:服务器正常关机重启,Session对象会被钝化和激活。同时,如果服务器钝化时间在默认会话销毁时间内,则激活后会话仍然存在。否则会话不存在。如果在session被钝化时JavaBean数据没有实现Serializable,那么在Session被激活时它就会消失。
四、ServletContext 字段:
范围是整个 Web 应用程序。代表整个 Web 应用程序的 ServletContext 对象在 Web 应用程序加载到容器时创建,并在服务器关闭或 Web 应用程序被删除时销毁。
简而言之,4个javaweb作用域对象可以概括为:PageContext:在本页有效,跳出页面无效;ServletRequest:跨页功能,一般用于表单提交等;HttpSession:在某个会话期间使用;ServletContext:一直有效,关闭服务器后无效。更多关于“Java培训”的问题,欢迎咨询千锋教育在线名师。千锋已有十余年的培训经验,课程大纲更科学更专业,有针对零基础的就业班,有针对想提升技术的好程序员班,高品质课程助力你实现java程序员梦想。