我试图遵循 Web应用程序设计模式。除了映射“根”URL之外,一切都正常。
我想将所有请求通过“前端控制器”处理,因此我已经添加了
<servlet-mapping>
<servlet-name>ControllerServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
在web.xml
中。通过Netbeans逐步执行可以看到请求进来,Action也能正常工作,但是在此之后就是这一行 。request.getRequestDispatcher("/WEB-INF/" + view + ".jsp").forward(request, response);
同时,它被控制器捕获后,再次进入Action时会全部失败。
如果不从URL根目录(例如“/”)进入,则可以使其正常工作。
<servlet-mapping>
<servlet-name>ControllerServlet</servlet-name>
<url-pattern>/pages/*</url-pattern>
</servlet-mapping>
但这不是我想要的。有没有办法让它适用于“根” URL?