我正在使用JSP
& Servlets
(Container: Tomcat7
, Database: Oracle10
)开发 Web 应用程序
我开发了一些 Web 应用程序,例如Profile
, Reports
, Leads
. 然后我开发了一个Login
应用程序。在此应用程序中,我将USERID与Session
更多会话属性一起存储。
用户登录后,将显示包含指向其他应用程序的链接的菜单,例如指向Profile
应用程序的链接。
所以当我Session
在用户登录后访问时:
- 如果我尝试使用相同的应用程序(登录)访问会话,那么我将获得具有所有必需属性的会话
- 但是当我尝试从其他应用程序访问会话时,
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
.
我是网络环境的新手,所以如果有人在此之前做过这方面的工作,请告诉我有哪些选择?
提前致谢
更新1
现在我决定使用EAR
,我将在其中打包所有WAR
文件,然后尝试在它们之间共享会话。由于Tomcat不支持EAR
我已经安装Oracle Glassfish
,然后我创建Enterprise Application Project
了包含两个应用程序1. Login
和2. Profiles
,然后创建EAR
文件,并将其部署在Glassfish
. 所以我想在这两个应用程序之间共享会话(在 Glassfish 上),所以如果有人对此有任何想法,请告诉我。(链接到任何教程也将不胜感激)