我有一个运行在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(传递requestresponse)。这样,您就可以通过会话。

否则,我的建议是不将loginUser存储在会话中,而是将用户ID变量作为某种智能(且混乱)字符串传递给另一个应用程序,编写一种机制来检索登录到会话状态的用户并从那里进行操作。这称为单点登录。

10-08 00:32