我有2个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


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

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

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


然后我得到这个错误:

NOT_FOUND
RequestURI=/archiving/archiving/reportgenerator


为什么在第二种情况下servlet复制“ / archiving”路径,但不首先将其粘贴?

最佳答案

改变这条线

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




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


看看是否有帮助。

09-27 17:44