我的网络应用程序有一个名为admin的servlet,在导航时检查用户是否已登录,以及是否指向admin部分,但如果不是,则将它们指向带有符号的JSP页面 - 通知。 JSP的名称不会出现在URL中,而是保留为/ admin。但是当JSP发布到另一个servlet以验证登录凭据时,url会更改为/ validate,这是servlet的名称。如果用户验证它们被转发到另一个JSP,但URL仍然保留为/ validate。如何确保URL反映浏览器中正在查看的内容?
如果不太清楚,请道歉。
答案 0 :(得分:4)
使用重定向,而不是转发。转发是服务器内部的;来自浏览器的一个请求被转发到不同的servlet。重定向是服务器和浏览器之间的交互,告诉浏览器请求第二个URL。
我建议使用容器管理身份验证,当用户请求需要身份验证的页面时,它将处理重定向到表单并返回到最初请求的页面。