spring boot에서 500404 오류 페이지 처리 방법

2506 단어 springboot500404
springboot는 마이크로서비스의 편리한 프레임워크로서 잘못된 페이지 처리에도 새로운 처리가 있습니다. 이전의springmvc500과 다른 페이지 처리는 비교적 간단합니다.javaconfig 또는 xml 형식으로 다음과 같은 bean을 정의하면 됩니다.

<bean 
 class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> 
 <property name="exceptionMappings"> 
  <props> 
  <prop key="org.apache.shiro.authz.UnauthenticatedException">pages/403</prop> 
  <prop key="org.apache.shiro.authz.UnauthorizedException">pages/403</prop> 
  <prop key="org.apache.shiro.authc.LockedAccountException">pages/locked</prop> 
  <prop key="java.lang.Throwable">pages/500</prop> 
  </props> 
 </property> 
 </bean>
404는 매우 특수하다. 참고할 수 있는 두 가지 방법이 있다.
1. dispatcherServlet 설정

@Bean 
public ServletRegistrationBean dispatcherRegistration(DispatcherServlet dispatcherServlet) { 
  ServletRegistrationBean registration = new ServletRegistrationBean( 
      dispatcherServlet); 
  dispatcherServlet.setThrowExceptionIfNoHandlerFound(true); 
  return registration; 
} 
오류 페이지를 처리하는 핸들러를 추가하고 @ControllerAdvice 메모를 추가합니다

@ControllerAdvice 
public class GlobalControllerExceptionHandler { 
 public static final String DEFAULT_ERROR_VIEW = "pages/404"; 
 
  @ExceptionHandler(value = NoHandlerFoundException.class) 
  public ModelAndView defaultErrorHandler(HttpServletRequest req, Exception e) throws Exception { 
    ModelAndView mav = new ModelAndView(); 
    mav.addObject("exception", e); 
    mav.addObject("url", req.getRequestURL()); 
    mav.setViewName(DEFAULT_ERROR_VIEW); 
    return mav; 
  } 
} 
그러나 위의 이런 처리 방법은 js, css 등 자원에 대한 여과를 초래할 수 있으므로 두 번째 방법을 사용하는 것이 가장 좋다
2. ErrorController 통합

@Controller 
public class MainsiteErrorController implements ErrorController { 
 
 private static final String ERROR_PATH = "/error"; 
  
 @RequestMapping(value=ERROR_PATH) 
  public String handleError(){ 
    return "pages/404"; 
  } 
  
 @Override 
 public String getErrorPath() { 
 // TODO Auto-generated method stub 
 return ERROR_PATH; 
 } 
 
} 
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기