Java 转发时如何在浏览器中显示原始URL

Java 转发时如何在浏览器中显示原始URL,java,jsp,servlets,browser,forward,Java,Jsp,Servlets,Browser,Forward,我已经创建了一个web应用程序MyApp RequestDispatcher view = request.getRequestDispatcher("roleAdd.jsp"); view.forward(request, response); 我有一个JSProleAdd.JSP,它有一个提交到roleAdd.doURL的表单 <form id="form_role_add" method="post" action="RoleAdd.do"> <label id=

我已经创建了一个web应用程序
MyApp

RequestDispatcher view = request.getRequestDispatcher("roleAdd.jsp");
view.forward(request, response);
我有一个JSP
roleAdd.JSP
,它有一个提交到
roleAdd.do
URL的表单

<form id="form_role_add" method="post" action="RoleAdd.do">
   <label id="label_role_name">Role Name: </label>
   <input type="text" id="role_name" name="role_name">
   <label id="label_role_desc">Role Desc: </label>
   <input type="text" id="role_desc" name="role_desc">
   <button type="submit" id="button_add" name="button_add">Add</button>
</form>
RoleAddServlet
servlet中,我将转发回
roleAdd.jsp

RequestDispatcher view = request.getRequestDispatcher("roleAdd.jsp");
view.forward(request, response);
现在我在浏览器中输入。JSP已加载。我在表单中输入数据,然后单击提交按钮。它转到
RoleAddServlet
servlet,然后转发回
roleAdd.jsp
。唯一的问题是浏览器现在显示出来了

有没有可能是鲍瑟秀?
如果是,那么我需要做什么?
如果没有,为什么?


谢谢

将来自servlet的请求转发到服务器上的另一个资源(servlet、JSP文件或HTML文件)。此方法允许一个servlet对请求进行初步处理,并允许另一个资源生成响应。将不会在请求调度程序中创建新的请求对象。如果要更改URL,必须使用
request.sendRedirect(字符串URL)
。无法使用
转发(ServletRequest请求、ServletResponse响应)
。如果要通过重定向传递参数,请执行以下操作:
YourPageName.jsp?name=nameYouEntered


我希望这将对您有所帮助。

通过以下行解决了问题:

response.sendRedirect(request.getContextPath()+"/report.jsp");
注意:不要将下面的代码行用于重定向。

RequestDispatcher RequetsDispatcherObj1 = request.getRequestDispatcher("/report.jsp");
RequetsDispatcherObj1.forward(request, response);

查看重定向是否有效:
response.sendRedirect(“/roleAdd.jsp”)它可以工作,但我丢失了我在
RoleAddServlet
servlet中设置为请求对象的属性。该属性比浏览器中显示的错误URL更重要。将参数附加到查询字符串以进行重定向很有趣。