Обработчик исключений Spring MVC не работает с контроллером без аннотаций - PullRequest
0 голосов
/ 07 мая 2019

В настоящее время у меня есть два способа создания контроллеров в моем приложении.

Один использует @Controller, что-то вроде ниже

@Controller
@RequestMapping(value = "/2")
public class TestController
{

    @RequestMapping(value = "/test2", method = { RequestMethod.GET })
    @ResponseBody
    public String request2 (HttpServletRequest req)

    {
        throw new RuntimeException();

    }

Некоторые другие контроллеры реализуют org.springframework.web.servlet.mvc.Controller (устаревший код)

@Component
public class Test2Controller implements Controller
{
    @Override
    public ModelAndView handleRequest (HttpServletRequest request, HttpServletResponse response)
            throws Exception
    {
        throw new RuntimeException();
    }
}

Оба типа контроллеров находятся под одним и тем же dispatcher-servlet.xml и раньше работали нормально. Однако, когда я хочу установить глобальные обработчики исключений для всех контроллеров. Работает только @Controller. Существуют ли какие-либо дополнительные настройки для работы обоих типов контроллеров с обработчиком исключений Spring MVC?

@ControllerAdvice
public class GlobalExceptionHandler
{

    @ExceptionHandler({ Throwable.class })
    public ResponseEntity handleException (Throwable e)
    {
        e.printStackTrace();
    }
```

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