SpringMVC 전역 이상 처리 방식 3 가지
SpringMvc 는 이상 처리 라 는 지원 을 제공 합 니 다.SpringMvc 가 제공 하 는 전역 이상 처리 체 제 를 통 해 모든 유형의 이상 처 리 를 각 처리 과정 에서 결합 시 킬 수 있 습 니 다.이렇게 하면 관련 처리 과정의 기능 이 비교적 단일 할 뿐만 아니 라 이상 정보의 통일 적 인 처리 와 유 지 를 실현 할 수 있 습 니 다.
SpringMVC 전역 이상 처리 방식 3 가지
전역 이상 처리 방식 1
SimpleMappingExceptionResolver 대상 설정
<bean class="org.springframework.web.servlet.handler.SimpleMappingException Resolver">
<property name="defaultErrorView" value="error"></property>
<property name="exceptionAttribute" value="ex"></property>
<property name="exceptionMappings">
<props>
<prop key="com.xxx.exception.BusinessException">error1</prop>
<prop key="com.xxx.exception.ParamsException">error2</prop>
</props>
</property>
</bean>
전역 이상 처리 방식 2HandlerExceptionResolver 인터페이스 구현
@Component
public class GlobalException implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex) {
Map<String,Object> map=new HashMap<String, Object>();
map.put("ex", ex);
ModelAndView mv=null;
if(ex instanceof ParamsException){
return new ModelAndView("error_param", map);
}
if(ex instanceof BusinessException){
return new ModelAndView("error_business", map);
}
return new ModelAndView("error", map);
}
}
Handler Exception Resolver 인 터 페 이 스 를 실현 하 는 이상 처리 장 치 를 사용 하여 이상 처 리 를 하 는 것 은 통합 이 간단 하고 좋 은 확장 성 이 있 으 며 기 존 코드 에 침입 성 이 없다 는 장점 이 있 으 며,이상 처리 시 이상 이 발생 하 는 대상 을 얻 을 수 있어 더욱 상세 한 이상 처리 정 보 를 제공 하 는 데 유리 하 다.전역 이상 처리 방식 3
페이지 프로세서 계승 BaseController
public class BaseController {
@ExceptionHandler
public String exc(HttpServletRequest request,HttpServletResponse
response,Exception ex){
request.setAttribute("ex", ex);
if(ex instanceof ParamsException){
return "error_param";
}
if(ex instanceof BusinessException){
return "error_business";
}
return "error";
}
}
@ExceptionHandler 주 해 를 사용 하여 이상 처 리 를 실현 합 니 다.통합 이 간단 하고 확장 성 이 좋 습 니 다(이상 처리 할 Controller 류 를 BaseController 에 계승 하면 됩 니 다).Spring 설정 을 추가 하지 않 아 도 된다 는 장점 이 있 지만 이 방법 은 기 존 코드 에 침입 성 이 있 습 니 다(기 존 코드 를 수정 하여 관련 류 를 BaseController 에 계승 해 야 합 니 다).이상 처리 시 이상 을 제외 한 데 이 터 를 가 져 올 수 없습니다.확장~캡 처 되 지 않 은 이상 처리
Unchecked Exception 의 경우 코드 가 강제 적 으로 캡 처 되 지 않 기 때문에 무시 되 는 경우 가 많 습 니 다.실행 기간 에 Unchecked Exception 이 발생 하고 코드 에 해당 하 는 캡 처 와 처리 가 되 지 않 으 면 어색 한 404,500...등 서버 내부 오류 알림 페이지 에 직면 해 야 할 수도 있 습 니 다.우 리 는 전면적 이 고 효과 적 인 이상 처리 메커니즘 이 필요 하 다.현재 대부분의 서버 는 웹.xml 에서(Websphere/Weblogic)또는(Tomcat)노드 를 통 해 특정 이상 상황 을 설정 하 는 디 스 플레이 페이지 를 지원 합 니 다.웹.xml 파일 을 수정 하고 다음 내용 을 추가 합 니 다:java.lang.Throwable/500.jsp 500/500.jsp 404/404.jsp
이상 은 SpringMVC 전역 이상 처리 의 세 가지 방식 의 상세 한 내용 입 니 다.SpringMVC 전역 이상 처리 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 해 주 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ssm 프레임워크 업로드 이미지 로컬 및 데이터베이스에 저장 예시본고는 ssm 프레임워크 업로드 이미지를 로컬과 데이터베이스에 저장하는 예시를 소개하고 주로 Spring+SpringMVC+MyBatis 프레임워크를 사용하여 ssm 프레임워크 업로드 이미지의 실례를 실현했다. 구체...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.