我正在尝试构建一个调用 JSP 页面的 Servlet,类似于以下内容:
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>
我遇到的问题是这匹配所有内容,因此当调度程序转发到“/WEB-INF/main.jsp”时,这匹配 url 模式,因此 Servlet 再次运行。这会导致一个循环运行,直到它因java.lang.StackOverflowError而死。
如何在不阻止其他脚本可运行的情况下匹配根目录?