我正在开发使用JSP
& Servlets
Web应用程序共享会话
我已经开发了一些Web应用程序像Profile
,Reports
,Leads
(容器:Oracle10
:Tomcat7
,数据库)。然后我开发了A Login
应用程序。在此应用程序中,我将USERID存储在Session
中,并具有更多会话属性。
用户登录后,他将显示菜单,其中包含指向其他应用程序的链接,如指向Profile
应用程序的链接。
所以,当我的用户登录后访问Session
在:
- 如果我尝试访问会话withing相同的应用程序(登录)然后我得到会话使用所有必需的属性
- 但是,当我尝试从其他应用程序访问会话像
Profiles
然后我得到会话null
代码片段来检查会话(在登录Web应用程序Servlet过滤器)
HttpSession session = request.getSession(false);
if(session==null)
{
System.out.println("Session does not exist... Redirected to LOGIN Page.");
response.sendRedirect("/ApplicationName/Login.jsp");
}
我访问的Profile
应用程序会话,以检查用户是否登录或没有。
然后我就搜查,我发现Session
不能从其他应用程序访问出于安全考虑。(我还发现,它可以通过设置crossContext="true"
完成)
然后我发现了其他选项,如制作EAR
的所有应用程序,然后部署它,但不幸EAR
它不支持Tomcat7
。
我对网络环境很陌生,所以如果任何人有过这方面的工作,那么请让我知道可以选择什么?
在此先感谢
UPDATE1
现在我已经决定使用EAR
,其中我将包所有WAR
文件,然后我会尽量在它们之间共享会话。因为Tomcat不支持EAR
我已经安装了Oracle Glassfish
,然后我创建了Enterprise Application Project
,其中包含两个应用程序1. Login
和2. Profiles
,然后创建EAR
文件,并将其部署到Glassfish
。 所以我想分享这两个应用程序之间的会话(在Glassfish上),所以如果任何人有任何想法,那么请让我知道。 (链接到任何教程也将不胜感激)
表示您想要在运行于同一Web服务器上的多个应用程序之间共享数据。这可以在Web服务器Catalina中进行一些操作。我不认为会有另一种方法来做到这一点, –
@Nikhil是的,我想分享在同一个Web服务器上运行的几个应用程序之间的数据(tomcat7) – Bhushan
http://stackoverflow.com/questions/9293350/domain- level-session-cookie-on-multiple-domains关键字:域级会话cookie –