我在这里遇到一个奇怪的问题,我真的被困住了,需要把这项工作搞得很糟糕。
所以我有一个页面说index.jsp,链接说“a href = servlet?action = viewMenu”。当我点击这个链接时,它将转到我的servlet上的doGet(),这是我的servlet中的代码。
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String action = request.getParameter("action");
if(action.equals("viewMenu")){
address = "/viewAdminMenu.jsp";
}
RequestDispatcher dispatcher = request.getRequestDispatcher(address);
dispatcher.forward(request,response);
}
所以上面的代码工作正常,但在请求转发后,我的浏览器显示网址为
本地主机/项目/ servlet的?动作= viewMenu。 (在开头使用http://)
我不想要上面的url,因为我无法使用tomcat设置基本身份验证,我需要的是
localhost / project / viewAdminMenu.jsp(开头是http://)
我试图找到有关此内容的信息,但未能弄明白。
非常感谢任何帮助。
答案 0 :(得分:4)
如果您希望浏览器转到其他URL,则需要告诉它重定向,而不是在服务器中进行转发。请参阅sendRedirect()
method of HttpServletResponse。
转发
重定向
(来自Java Practices。)