【发布时间】:2012-11-07 20:23:02
【问题描述】:
我正在用 JAVA 创建一个登录应用程序。我正在用 JSP 和 Servlet 中的所有逻辑(数据库连接)进行演示[这不是我知道的正确方法]。 我在 Servlet 中检查用户名密码,然后创建一个会话变量。 并像这样添加会话
sess.setAttribute("username",oName);
然后我将用户重定向到它的主页,比如 student.jsp
response.sendRedirect("student.jsp");
它删除了会话变量。我需要一种方法来保留会话变量并移至 student.jsp。我尝试使用转发,但没有成功。
RequestDispatcher dispatcher =
getServletContext()
.getRequestDispatcher("/student.jsp");
if (dispatcher != null) {
dispatcher.forward(request, response);
}
它转发请求但页面地址没有更改为student.jsp,这不好。 在这方面的任何帮助将不胜感激 谢谢
【问题讨论】:
-
这里有一个很好的教程,可以帮助你进行转发。它相当于 Servlet javapractices.com/topic/TopicAction.do?Id=181 中的 JSP 转发
-
这就是转发的工作原理:替换浏览器的内容,而不是 URL。您需要使用重定向,但不知何故,您进行测试的浏览器不允许使用 cookie。在浏览器中启用 cookie 并再次运行应用程序。
标签: java jsp jakarta-ee servlets jspinclude