지역 이상을 처리하는 글로벌 예외를 springmvc 및

HandlerExceptionResolver 의해 springmvc는 프로세서 예외를 포함하는 비정상의 이상의 데이터 바인딩, 예외 핸들러 (인터페이스가 스프링 webmvc에 의존한다)가 발생하고, 프로세서에 의해 실행된다. HandlerExceptionResolver 하나의 인터페이스 방법 으로서 다음

예외가 발생하면 SpringMVC는 resolverException ()에있어서, 사용자에 대한 예외 처리 리포트 페이지 피드백으로서, 대응하는 볼의 ModelAndView 부른다.

현지 예외 처리

로컬 컨트롤러 예외 처리 만 ExceptionHandler 여러 예외를 지정 @ 구현 (스프링 웹에 의존) @ExceptionHandler 주석을 사용하여, 특정 이상을 처리 할 수있는 다음과 같이

@RequestMapping (값 = "exlogin.html를"METHOD = RequestMethod.GET)
 공용 문자열 exLogin (@RequestParam 문자열 userCode, @RequestParam userPassword에 문자열) { 
    사용자 사용자 = userService.selectUserByUserCodeAndUserPassword (userCode, userPassword에);
    경우 ( 널 (null) == 사용자가) {
         던져  새로운 RuntimeException을을 ( "用户名或者密码不正确!" ); 
    } 
    반환 "리디렉션 : /user/main.html를" ; 
} @ExceptionHandler ({의 RuntimeException.

 클래스})
 공공 문자열 handlerException ( RuntimeException의 전자, HttpServletRequest의 요청 ) {
    request.setAttribute ( 'E', E);
    반환 "오류" ; 
}

예외 처리 handlerException ()에있어서, 이상에 제시 정보 HttpServletRequest의 개체

$ {e.message}에 해당하는 디스플레이 페이지 출력 이상 정보는 이상 정보의 출력은 사용자 정의 할 수

글로벌 예외 핸들러

아마도 SimpleMappingExceptionResolver 글로벌 예외 핸들러를 달성하기 위해 사용될 수있다. 즉, 예외가 발생 해당 뷰 리포트 예외를 사용하여 이름을 볼 매핑이 예외 클래스. 그런 다음 springmvc-servlet.xml 파일의 글로벌 예외를 구성합니다.

<빈 클래스 = "org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> 
    <속성 이름 = "exceptionMappings"> 
        <소품> 
            <= "java.lang.RuntimeException가"키 소품> 오류 </ 소품> 
        </ 소품> 
    </ 부동산> 
</ 콩>

 

상기 제어부가 지정한 경우의 RuntimeException는 비정상 오류 정보보기를 표시하여 발생한다. 물론, 이상 복수의 <소품> 태그 내에서 정의 될 수있다.

error.jsp 메시지 표시 페이지에 수정 될 $ {exception.message} 예외 정보를 던질.

 

추천

출처www.cnblogs.com/yanguobin/p/11666523.html