我正在尝试Servlet+JSP MVC模型,但不明白我错在哪里。
我的第一次尝试是“包罗万象”的@WebServlet,它应该充当所有请求的“路由器”:
@WebServlet( urlPatterns = {"/*"} )
public class RoutingServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
System.out.println(req.getPathInfo());
req.getRequestDispatcher("index.jsp").forward(req, res);
}
}
这给了我一个StackOverflowError。
如何使 servlet 从其包罗万象中“排除”.jsp?
最佳答案
通常您不需要 servlet 上的/* 映射 - 只是一个过滤器。 '/*' 模式会将所有内容发送到您的 servlet。我建议您定义诸如 *.html (逻辑映射)之类的内容作为您的映射,然后转发到 WEB-INF 中的 jsps。
关于java - Catch-all servlet 和 JSP 无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35703761/