Servlet getRequestDispatcher.forward()工作不清楚

时间:2012-05-09 11:41:48

标签: java servlets

我有两个servlet,它们映射在web.xml

    <url-pattern>/archiving/archive</url-pattern>
    <url-pattern>/archiving/reportgenerator</url-pattern>

从servlet archive我调用第二个servlet:

request.getRequestDispatcher("/reportgenerator").forward(request, response);

但有错误:

NOT_FOUND
RequestURI=/reportgenerator

似乎在网址中我们在“ / reportgenerator ”之前丢失了“ / archiving ”。

但如果我在reaquestDispatcher中添加“ / archiving ”:

request.getRequestDispatcher("/archiving/reportgenerator").forward(request, response);

然后我收到此错误:

NOT_FOUND
RequestURI=/archiving/archiving/reportgenerator

为什么servlet在第二种情况下复制了“ / archiving ”路径,但是不要先粘贴它?

1 个答案:

答案 0 :(得分:1)

更改此行

request.getRequestDispatcher("/archiving/reportgenerator").forward(request, response);

request.getRequestDispatcher("../archiving/reportgenerator").forward(request, response);

看看这是否有帮助。