Я пытаюсь создать сервлет, который вызывает JSP-страницу, похожую на следующее:
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException, ServletException {
req.getRequestDispatcher("/WEB-INF/main.jsp").forward(req, resp);
}
Мне нужен этот сервлет для ответа на корень домена (например: http://example.com/), поэтому я использую следующее сопоставление в Интернете .xml:
<servlet-mapping>
<servlet-name>MainServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Проблема, с которой я сталкиваюсь, заключается в том, что она соответствует всем, поэтому, когда диспетчер пересылает "/WEB-INF/main.jsp", это соответствует шаблону url, поэтому Servlet снова запускается. Это приводит к циклу, который выполняется до тех пор, пока он не умрет с java.lang.StackOverflowError.
Как я могу сопоставить корень, не препятствуя выполнению других сценариев?