Catch-all servlet和JSP无限循环

时间:2016-02-29 15:49:50

标签: java jsp servlets

我正在尝试使用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?

1 个答案:

答案 0 :(得分:1)

通常,您不希望在servlet上使用/ *映射 - 只是一个过滤器。 '/ *'模式将把所有内容发送到你的servlet。我建议你定义类似* .html(一个逻辑映射)的东西作为你的映射,然后转发到WEB-INF里面的jsps。