2

我的 Web 应用程序有一个名为 admin 的 servlet,当导航到它时检查用户是否已登录以及是否定向到管理部分,但如果不是,它会将它们定向到带有登录表单的 JSP 页面。JSP 的名称不会出现在 URL 中,它保持为 /admin。但是,当 JSP 发布到另一个 servlet 以验证登录凭据时,url 更改为 /validate,这是 servlet 的名称。如果用户验证他们将被转发到另一个 JSP,但 URL 仍然保持为 /validate。如何确保 URL 反映浏览器中正在查看的内容?

如果这不是太清楚,请道歉。

4

1 回答 1

4

使用重定向,而不是转发。转发在服务器内部;来自浏览器的一个请求被转发到不同的 servlet。重定向是服务器和浏览器之间的交互,告诉浏览器请求第二个 URL。

我建议使用 Container Managed Authentication,每当用户请求需要身份验证的页面时,它将为您处理重定向到表单并返回到最初请求的页面。

于 2009-01-11T14:11:00.383 回答