context(上下文) 不是线程安全的
可访问性:web的所有部分,包括servlet,jsp,servletcontextlistener,servletcontextattributelistener。
作用域:servletcontext的生命期,这意味着所部署的应用的生命期。如果服务器或者应用关闭,上下文则撤销,其属性也相应撤销。
适用于:你希望整个应用共享的资源,包括数据库连接,jndi查找名。
HttpSession(会话) 不是线程安全的
可访问性:访问这个会话的所有servlet或者jsp。
作用域:会话的生命期。会话可以通过编程撤销,也可能是因为超时被撤销。
适用于:于客户会话有关的资源和数据,而不是只与一个请求相关的资源。他要与客户完成一个持续的会话。购物车就是一个典型的例子。
Request(请求) 线程安全的
可访问性:应用能直接访问到请求的所有部分。接收所有请求的servlet和jsp,还有于请求相关的监听者。
作用域:持续到servlet的service方法结束。线程处理这个请求的生命期。
适用于:将模型数据从控制器传递到视图,或者传递特定用户请求的任何数据。