我在 JAVA 中创建一个登录应用程序。我在 JSP 中进行演示,在 Servlet 中进行所有逻辑(数据库连接)[我知道这不是正确的方法]。 我在 Servlet 中检查用户名密码,然后创建一个 session 变量。 并像这样添加 session
sess.setAttribute("username",oName);
然后我将用户重定向到它的主页 student.jsp
response.sendRedirect("student.jsp");
它删除了 session 变量。我需要一种方法来保留 session 变量并移动到 student.jsp。我尝试使用 forwading,但没有成功。
RequestDispatcher dispatcher =
getServletContext()
.getRequestDispatcher("/student.jsp");
if (dispatcher != null) {
dispatcher.forward(request, response);
}
它转发了请求,但页面地址没有更改为 student.jsp,这不好。 在这方面的任何帮助将不胜感激 谢谢
最佳答案
对于返回并附加到同一 session 的重定向请求,它需要一个 session ID,通常在 JSESSIONID(或其他名称)cookie 中或作为参数在 URL 中携带。
此 cookie 或 URL 参数应由 servlet 容器添加,您不必自己添加。
如果您在浏览器中没有看到 cookie,并且您没有将 JSESSIONID 附加到 URL,那么它会为每个请求创建一个新 session ,而不是附加到同一个 session 。
关于java - 使用 sendredirect 在 Java 中保留 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13461838/