SpringMVC_통합 예외 처리
2233 단어 SpringMVC
사용처:
우리는dao,서비스,controller층에서 이상을 위로 던지면 DispatcherServlet에서 이상을 받아들여 전역 이상 처리 방법을 호출합니다
1. 비정상 처리 클래스 사용자 정의, Exception 계승 package com.mingde.custom;
@SuppressWarnings("all")
public class CustomException extends Exception {
private String message;
public CustomException(String message) {
this.message=message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
2. 전역 비정상 처리 기능 구현(인터페이스HandlerExceptionResolver 구현) package com.mingde.custom;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
public class CustomExceptionResolver implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object obj,
Exception ex) {
CustomException ce;
// ex CustomException, CustomException , new
if(ex instanceof CustomException){
ce=(CustomException)ex;
}else{
ce=new CustomException(" ");
}
//
request.setAttribute("message", ce.getMessage());
try {
// ,
request.getRequestDispatcher("/WEB-INF/student/error.jsp").forward(request, response);
} catch (ServletException | IOException e) {
e.printStackTrace();
}
return new ModelAndView();
}
}
3. SPringMVC.xml 파일 설정에서 상기 클래스를 설정합니다.
방식2:CustomExceptionResolver 클래스 앞에서 @Component 주석을 사용할 수 있습니다.전제는springmvc.xml 파일 설정에 주석 스캐너가 있어야 하며, 이 종류를 스캔할 수 있습니다
예: 제어층에서 이상 위로 던지기
만약'장삼'이 민감한 단어라면 데이터를 추가할 때 사용할 수 없습니다if(" ".equals(st.getSname())){
throw new CustomException(" ");
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ssm 프레임워크 업로드 이미지 로컬 및 데이터베이스에 저장 예시
본고는 ssm 프레임워크 업로드 이미지를 로컬과 데이터베이스에 저장하는 예시를 소개하고 주로 Spring+SpringMVC+MyBatis 프레임워크를 사용하여 ssm 프레임워크 업로드 이미지의 실례를 실현했다.
구체...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
package com.mingde.custom;
@SuppressWarnings("all")
public class CustomException extends Exception {
private String message;
public CustomException(String message) {
this.message=message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
2. 전역 비정상 처리 기능 구현(인터페이스HandlerExceptionResolver 구현) package com.mingde.custom;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
public class CustomExceptionResolver implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object obj,
Exception ex) {
CustomException ce;
// ex CustomException, CustomException , new
if(ex instanceof CustomException){
ce=(CustomException)ex;
}else{
ce=new CustomException(" ");
}
//
request.setAttribute("message", ce.getMessage());
try {
// ,
request.getRequestDispatcher("/WEB-INF/student/error.jsp").forward(request, response);
} catch (ServletException | IOException e) {
e.printStackTrace();
}
return new ModelAndView();
}
}
3. SPringMVC.xml 파일 설정에서 상기 클래스를 설정합니다.
방식2:CustomExceptionResolver 클래스 앞에서 @Component 주석을 사용할 수 있습니다.전제는springmvc.xml 파일 설정에 주석 스캐너가 있어야 하며, 이 종류를 스캔할 수 있습니다
예: 제어층에서 이상 위로 던지기
만약'장삼'이 민감한 단어라면 데이터를 추가할 때 사용할 수 없습니다if(" ".equals(st.getSname())){
throw new CustomException(" ");
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ssm 프레임워크 업로드 이미지 로컬 및 데이터베이스에 저장 예시
본고는 ssm 프레임워크 업로드 이미지를 로컬과 데이터베이스에 저장하는 예시를 소개하고 주로 Spring+SpringMVC+MyBatis 프레임워크를 사용하여 ssm 프레임워크 업로드 이미지의 실례를 실현했다.
구체...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
package com.mingde.custom;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
public class CustomExceptionResolver implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object obj,
Exception ex) {
CustomException ce;
// ex CustomException, CustomException , new
if(ex instanceof CustomException){
ce=(CustomException)ex;
}else{
ce=new CustomException(" ");
}
//
request.setAttribute("message", ce.getMessage());
try {
// ,
request.getRequestDispatcher("/WEB-INF/student/error.jsp").forward(request, response);
} catch (ServletException | IOException e) {
e.printStackTrace();
}
return new ModelAndView();
}
}
방식2:CustomExceptionResolver 클래스 앞에서 @Component 주석을 사용할 수 있습니다.전제는springmvc.xml 파일 설정에 주석 스캐너가 있어야 하며, 이 종류를 스캔할 수 있습니다
예: 제어층에서 이상 위로 던지기
만약'장삼'이 민감한 단어라면 데이터를 추가할 때 사용할 수 없습니다if(" ".equals(st.getSname())){
throw new CustomException(" ");
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ssm 프레임워크 업로드 이미지 로컬 및 데이터베이스에 저장 예시
본고는 ssm 프레임워크 업로드 이미지를 로컬과 데이터베이스에 저장하는 예시를 소개하고 주로 Spring+SpringMVC+MyBatis 프레임워크를 사용하여 ssm 프레임워크 업로드 이미지의 실례를 실현했다.
구체...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
if(" ".equals(st.getSname())){
throw new CustomException(" ");
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ssm 프레임워크 업로드 이미지 로컬 및 데이터베이스에 저장 예시본고는 ssm 프레임워크 업로드 이미지를 로컬과 데이터베이스에 저장하는 예시를 소개하고 주로 Spring+SpringMVC+MyBatis 프레임워크를 사용하여 ssm 프레임워크 업로드 이미지의 실례를 실현했다. 구체...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.