我有一个运行在tomcat服务器上的应用程序,该应用程序重定向到另一个网站进行密码身份验证(并存储一些数据),然后重定向回我的tomcat服务器
前
1对A
A到B
B到2
其中1和2是我的应用程序上的页面
A和B是其他应用程序上的页面
我正在使用以下方法在页面1上设置会话变量
HttpSession session = request.getSession(true);
session.setAttribute("loginUser", "loginUser");
并在第2页上使用
String loginUser= session.getAttribute("loginUser");
但是在2上得到一个空指针异常
最佳答案
如果要在同一上下文(应用程序)中进行重定向,请使用RequestDispatcher
进行forward
(传递request
和response
)。这样,您就可以通过会话。
否则,我的建议是不将loginUser
存储在会话中,而是将用户ID变量作为某种智能(且混乱)字符串传递给另一个应用程序,编写一种机制来检索登录到会话状态的用户并从那里进行操作。这称为单点登录。