Задать вопрос
@parkito

Как изменить параметр запроса в Filter?

Здравствуйте. У меня стоит задача в фильтре изменить запрос, направляемый в сервлет. Подскажите как это можно сделть.

public void doFilter(ServletRequest request,
                         ServletResponse response,
                         FilterChain chain)
            throws java.io.IOException, ServletException {

        request.setAttribute("param", "Hello");
        
        HttpServletRequest req = (HttpServletRequest) request;
        System.out.println(req.getParameter("param"));
        RequestDispatcher dispatcher = request.getRequestDispatcher("/");
        dispatcher.forward(request, response);
        chain.doFilter(request, response);
    }
  • Вопрос задан
  • 384 просмотра
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 1
@McKey92
Разроботка ПО
  1. В данной ситуации не нужно вызывать dispatcher.forward(request, response);
  2. Вы путаете setAttribute и getParameter смотрите ссылку ниже

  3. Если вы хотите подменить ServletRequest используйте wraper'ы


  4. подборочка примеров как использовать:
    www.programcreek.com/java-api-examples/javax.servl...



Должно помочь !)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы