当前位置:  开发笔记 > 运维 > 正文

crossContext属性在Tomcat中的作用是什么?它是否启用会话共享?

如何解决《crossContext属性在Tomcat中的作用是什么?它是否启用会话共享?》经验,为你挑选了2个好方法。

我在Tomcat 5.5文档中找到的只有:

如果要在此应用程序中调用ServletContext.getContext()以成功返回在此虚拟主机上运行的其他Web应用程序的请求调度程序,则设置为true.在安全意识环境中设置为false(默认值),以使getContext()始终返回null.

我发现一些论坛帖子评论该设置crossContext=true还允许在不同的Web应用程序之间共享会话对象,但我无法找到任何官方文档说明这一点.

Servlet.getContext()与不同Web应用程序之间共享会话状态的能力之间是否存在关系?

什么是crossContext属性真的 Tomcat中吗?



1> kgiannakakis..:

您可以使用单点登录阀在Web应用程序之间共享会话.

crossContext=true如果要在同一虚拟主机中的不同Web应用程序之间共享某些信息,则可以设置.

例如,app1会调用:

setAttribute("name", object);

另一个应用程序可以调用

getContext("/app1").getAttribute("name");

阅读信息.如果crossContext未设置为true,则getContext("/ app1")将返回null.

但是,使用crossContext既罕见又可能不安全.



2> Kees de Koot..:

来自javadoc ServletContext.getContext():

此方法允许servlet访问服务器各个部分的上下文,并根据需要从上下文中获取RequestDispatcher对象.给定路径必须以"/"开头,相对于服务器的文档根进行解释,并与此容器上托管的其他Web应用程序的上下文根相匹配.

因此,例如,如果要包含来自不同Web应用程序的页面,则需要将crossContext设置为true.

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有