Web开发中的四个域对象

在Java Web开发中,一共存在4个域对象。域对象可以在多个Servlet之间、JSP与Servlet之间传递数据。

什 是域对象?

内置map集合,有void setAttribute(String name, Object object)与Object getAttribute(String name)方法的对象。域对象有自己固定的生命周期和作用域。

application域指的是ServletContext

生命周期:Web应用加载时创建,Web应用被移除或服务器关闭时销毁。

作用范围:在整个Web应用范围内有效。

使用场景:数据与多个用户相关。例如,统计网站在线人数,统计网站访问次数。

session域指的是HttpSession

生命周期:session在用户第一次访问服务器的时候自动创建(需要注意只有访问JSP、Servlet等程序时才会创建session,只访问html、图片等静态资源不会创建session)。在以下3种情况下销毁:超时(默认30分钟),调用invalidate()方法 ,服务器非正常关闭。

作用范围:只在当前会话范围内有效。

使用场景:数据只与一个用户相关。例如,用户登录信息,购物车信息。

request域指的是HttpServletRequest

生命周期:客户端发送请求时创建,服务器端返回响应时销毁。

作用范围:只在当前请求范围内有效。

使用场景:数据只使用一次。

page域指的是pageContext

生命周期:JSP页面被执行时创建,JSP页面执行完毕时销毁。

作用范围:只在当前JSP页面范围内有效。

使用场景:数据只是暂时存储在集合,在JSP页面的其它地方要用时。

猜你喜欢

转载自blog.csdn.net/qq_36544360/article/details/81096859