当我们已经拥有servlet上下文对象时,使用httpSession对象有什么意义?

时间:2015-09-29 04:11:55

标签: java-ee servlets

当我们已经拥有httpSession上下文对象时,使用httpServlet对象有什么意义? httpSession对象仅限于特定用户或浏览器,但httpServlet上下文对象可供多个用户和多个浏览器使用。

2 个答案:

答案 0 :(得分:0)

我建议你阅读文档。

HTTPSession

  

公共界面HttpSession

     

提供跨多个页面请求或用户标识用户的方法   访问网站并存储有关该用户的信息。

     

servlet容器使用此接口在HTTP客户端和HTTP服务器之间创建会话。会话在指定的时间段内持续存在,来自用户的多个连接或页面请求。会话通常对应于一个用户,该用户可能多次访问该站点。服务器可以通过多种方式维护会话,例如使用cookie或重写URL。

ServletContext

  

公共接口ServletContext

     

定义servlet用于与其通信的一组方法   servlet容器,例如,获取文件的MIME类型,   发送请求,或写入日志文件。

     

每个" Web应用程序有一个上下文"每个Java虚拟机。 (A" Web应用程序"是在服务器的URL命名空间的特定子集下安装的servlet和内容的集合,例如/ catalog,可能通过.war文件安装。)

     

如果Web应用程序标记为"已分发"在其部署描述符中,每个虚拟机将有一个上下文实例。在这种情况下,上下文不能用作共享全局信息的位置(因为信息不会真正全球化)。改为使用像数据库这样的外部资源。

答案 1 :(得分:0)

简单:

  • 请求:这里放置的元素不仅仅属于可以在servlet和JSP页面之间共享的单个请求 - 例如查询的结果数据。
  • 会话:你把完整会话的意义放在那里 - 用户ID,用户名,用户权限,许多相关请求的上下文等等。
  • ServletContext:你把整个应用程序放在那里 - 同时进行的会话数,数据库或第三方Web服务的引用等等。

他们只是有不同的用例。