Como eu posso configurar HTTP Status 404 para retornar uma view especifica.
Como eu posso configurar HTTP Status 404 para retornar uma view especifica.
Olá Carlos, tudo bem?
Uma vez fiz um projeto para retornar uma página customizada ao acontecer 404.
No controller eu colocava o código:
class Controller {
// ...
@ResponseStatus(HttpStatus.NOT_FOUND)
public String retornaPaginaCustomizada() {
return "[página]";
}
}
Segue link da doumentação do Spring, falando mais a respeito: https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc
Espero ter ajudado!
Abs
E ai Rafael tranquilo? Então, eu criei um método com essa anotação porém não deu certo, ainda continua aparecendo a página 404 do Tomcat.
package br.com.casadocodigo.loja.controllers;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.servlet.ModelAndView;
@ControllerAdvice
public class ExceptionHandlerController {
@ExceptionHandler(Exception.class)
public ModelAndView ErroGenerico(Exception exception) {
return new ModelAndView("erro");
}
@ResponseStatus(HttpStatus.NOT_FOUND)
public String notFound() {
return "erro";
}
}
Olá Carlos, tudo bem?
No projeto que tinha realizado, com o Spring 3, precisei colocar no web.xml o mapeamento da página de erro, mas pelo que eu saiba no Spring 4 essa configuração não seria obrigatória:
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/pages/404.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/WEB-INF/view/erro_customizado.jsp</location>
</error-page>
Encontrei um código na internet parecido com o que realizei na época, segue link:
https://www.mkyong.com/spring-mvc/spring-mvc-exception-handling-example/
Espero que ajude!
Abs