我有类似的问题 proof of concept for multiple clients in JSF 2.0
我们的应用程序在Weblogic的ROOT上下文中部署为单个ear文件。但是,我们需要在同一个应用程序上支持多个客户端网站。客户名称附加在URL中,例如http://myApp/client1/home.jsf,http://myApp/client2/home.jsf。 从不同的机器甚至不同的浏览器访问不同的URL时绝对没有问题。但是,当通过Firefox中的不同选项卡访问时,由于具有相同的JSession ID,它们将数据从一个应用程序共享到另一个应用程序。有没有办法在创建会话bean之前使用查看客户端URL的自定义范围bean。
每个应用程序都有多个ear文件,因为我们支持100多个客户端网站。 :(
答案 0 :(得分:0)
这种情况的合适范围是会话,请求和视图。不合适的范围是会话和(取决于您的用法)应用程序。虽然CDI没有视图范围,但您可以使用许多第三方实现。 (查看范围对于ajax很方便。)
会话范围就像请求范围一样,直到会话明确开始。在您结束对话之前,它与启动的视图相关联,因此您可以拥有多个会话范围bean实例,每个浏览器窗口一个。