我可以通过web.xml将所有请求定义为像/ *这样的servlet吗?

时间:2015-03-06 17:55:06

标签: java-ee-web-profile

所以我想处理对Servlet的所有请求。但是如果我在我的web.xml中放置了wildcard / *,那么就进入无限循环:

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    req.getRequestDispatcher("index.jsp").forward(req, resp);
}

我希望我的所有请求都不以.jsp结尾,而是以like / main,/ main / level,/ main / level / 1等结束。 问题是如何避免无限循环?

<servlet>
    <servlet-name>main</servlet-name>
    <servlet-class>main.Main</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>main</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

1 个答案:

答案 0 :(得分:0)

如果我想通过servlet处理所有请求,我可以创建我的过滤器然后我可以使用

<filter>
    <filter-name>main</filter-name>
    <filter-class>main.Main</filter-class>
</filter>
<filter-mapping>
    <filter-name>main</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

之后,我可以将reqresp个对象传递给我想要的人。