Java 重定向到外部网站,同时根据请求获取任何错误

Java 重定向到外部网站,同时根据请求获取任何错误,java,spring,Java,Spring,每当调用控制器时发生任何错误时,我都试图重定向到失败url。我们不想看到“白标签错误页面”页面。请指教 @Controller @RequestMapping("/ts") public class MainController implements ErrorController { @Value("${failure.location}") private String failureLocation; @GetMapping("/{dirtid}/{carrierid}/{use

每当调用控制器时发生任何错误时,我都试图重定向到失败url。我们不想看到“白标签错误页面”页面。请指教

@Controller
@RequestMapping("/ts")
public class MainController implements ErrorController {


@Value("${failure.location}")
private String failureLocation;



@GetMapping("/{dirtid}/{carrierid}/{userid}")
public String getTemp() throws IOException {
// code 
}
尝试重定向到故障位置

@RequestMapping(value = ERRORPATH, produces = "application/json")
public void error(HttpServletResponse response) {

    response.setHeader("Location", failureLocation);

}

@Override
public String getErrorPath() {
    return Constants.ERRORPATH;
}
}

您应该使用@ControllerAdvice来管理所有类型的异常。它被视为全局异常处理程序。从那里,您可以设置响应状态代码等

@ControllerAdvice
public class GlobalExceptionHandler {

    private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);

    @ExceptionHandler(SQLException.class)
    public String handleSQLException(HttpServletRequest request, Exception ex){
        logger.info("SQLException Occured:: URL="+request.getRequestURL());
        return "database_error";
    }

    @ResponseStatus(value=HttpStatus.NOT_FOUND, reason="IOException occured")
    @ExceptionHandler(IOException.class)
    public void handleIOException(){
        logger.error("IOException handler executed");
        //returning 404 error code
    }
}
,例如见