Контроллер Spring получает запрос / ответ - PullRequest
8 голосов
/ 30 декабря 2010

Как мне получить запрос / ответ, который я могу установить? Кроме того, в конце этого метода, как я могу перенаправить на другую страницу?

@RequestMapping(value = "/dosomething", method = RequestMethod.GET)
public RETURNREDIRECTOBJ dosomething() throws IOException {
    ....
    return returnredirectpagejsp;
}

Ответы [ 4 ]

13 голосов
/ 31 декабря 2010

Как насчет этого:

@RequestMapping(value = "/dosomething", method = RequestMethod.GET)
public ModelAndView dosomething(HttpServletRequest request, HttpServletResponse response)  throws IOException {
    // setup your Cookie here
    response.setCookie(cookie)
    ModelAndView mav = new ModelAndView();
    mav.setViewName("redirect:/other-page");

    return mav;
}
7 голосов
/ 30 декабря 2010
  1. Просто передайте это как аргумент: public String doSomething(HttpServletRequest request). Вы можете передать как запрос, так и ответ, или каждый из них в отдельности.
  2. возвращает String "redirect:/viewname" (чаще всего без суффикса .jsp)

Для обоих вопросов проверьте документацию , раздел "15.3.2.3 Поддерживаемые аргументы метода-обработчика и возвращаемые типы"

4 голосов
/ 14 февраля 2015

Вы также можете просто @Autowire. Например:

@Autowired 
private HttpServletRequest request;

Несмотря на то, что HttpServletRequest является bean-объектом в области запроса, он не требует, чтобы ваш контроллер был ограничен запросом, поскольку для HttpServletRequest Spring будет генерировать прокси HttpServletRequest, который знает, как получить фактический экземпляр запроса.

0 голосов
/ 29 мая 2017

Вы также можете использовать этот способ

@RequestMapping(value = "/url", method = RequestMethod.GET)
    public String method(HttpServletRequest request, HttpServletResponse response){
        Cookie newCookie = new Cookie("key", "value");
        response.addCookie(newCookie);
        return "redirect:/newurl";
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...