我正在尝试构建一个Servlet,它调用类似以下JSP页面的内容:
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException, ServletException {
req.getRequestDispatcher("/WEB-INF/main.jsp").forward(req, resp);
}
我需要这个 Servlet 响应到域名的根目录(例如:http://example.com/),所以我在 web.xml 中使用以下映射:
<servlet-mapping>
<servlet-name>MainServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
我遇到的问题是这个匹配了每一个URL,因此当分派器转发到“/WEB-INF/main.jsp”时,它会匹配url-pattern,因此Servlet再次运行。这导致循环运行,直到它因java.lang.StackOverflowError而终止。
如何匹配根目录而不影响其他脚本可运行?