Могу ли я определить все запросы через web.xml к сервлету что-то вроде /*?

Поэтому я хочу обрабатывать все запросы к сервлету. Но если я добавлю wildcard /* в мой web.xml, получим бесконечный цикл:

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

И я хочу, чтобы все мои запросы не заканчивались на.jsp, а скорее как / 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 ответ

Решение

Узнайте, что если я хочу обрабатывать все запросы через сервлет, я могу создать свой фильтр, где я могу использовать

<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>

После этого я могу пройти req а также resp возражает против того, кого я хочу.

Другие вопросы по тегам