无法使用getRequestDispatcher更改URL

时间:2015-09-11 13:38:35

标签: java servlets

我使用的代码是

request.getRequestDispatcher("jsp/caseconference.jsp").forward(request, response);

当我使用send Redirect时,上面的代码工作正常,但在那部分,我无法使用请求和响应,这会产生错误。

1 个答案:

答案 0 :(得分:0)

根据您上面的评论,我认为您没有收到错误,而是希望您的网址的最后一部分从LoginServlet转到caseconference 。您必须为此caseconference创建一个网址格式:

@WebServlet(
        name = "LoginServlet",
        description = "This is optional but helpful",
        urlPatterns = "/caseconference"
)
public class LoginServlet extends HttpServlet {
    ....
}

然后在doPost方法中创建一个变量,以跟踪用户所在的每条路径,例如:

String path = request.getServletPath();

每当用户重定向到roswellpark/caseconference时,都会设置路径caseconference

path = "/caseconference";

然后,如果你的目录中有一个名为roswellpark的文件夹,或者你为它创建了一个url模式,那么就像这样构建你的url:

String url = "roswellpark/" + path + ".jsp";

最后,使用try / catch语句转发url以获得最佳实践:

try{ request.getRequestDispatcher(url).forward(request,response); }catch(Exception ex){ .... }