我正在尝试使用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从其catch-all中“排除”.jsp?
答案 0 :(得分:1)
通常,您不希望在servlet上使用/ *映射 - 只是一个过滤器。 '/ *'模式将把所有内容发送到你的servlet。我建议你定义类似* .html(一个逻辑映射)的东西作为你的映射,然后转发到WEB-INF里面的jsps。