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