Изменить цепочку фильтров - Или выберите сервлет, чтобы ответить на запрос с помощью фильтра. - PullRequest
0 голосов
/ 11 июня 2010

Я пытаюсь использовать фильтр для сопоставления запросов.Я пытаюсь сделать это по двум причинам: во-первых, динамически генерировать URI и сопоставить их с соответствующим сервлетом, а во-вторых, чтобы перехватывать URI, которые не зарегистрированы, и обрабатывать их соответствующим образом.

Поэтому я использую улов-все фильтры для обработки URI и определения ответа.Я хотел бы какой-то способ изменения цепочки фильтров, или какой-либо способ установить сервлет, который отвечает на запрос из фильтра.Мне не удалось использовать filterConfig.getServletContext().getRequestDispatcher().forward() для отправки в jsp, в идеале, хотя я хотел бы отобразить на сервлет, но не могу понять, как.

Причина, по которой я не делаю это из сервлета, заключается в том, чтоУ меня есть несколько URI, которые исправлены в web.xml, и если я использую универсальный сервлет, эти URI не отображаются.Это возможно, это чисто или будет действительно грязно?

1 Ответ

2 голосов
/ 11 июня 2010

Я не думаю, что это правильный способ сделать это.

Если вы посмотрите, что делают веб-фреймворки MVC, у них есть сервлет фронт-контроллера, который отображает URL-адреса на контроллеры, которые сами могут принимать HTTP-запросы и возвращать HTTP-ответы. Я думаю, что стоит подражать дизайну, а не вашей идее фильтра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...