에러페이지 처리관련 질문(초보적 질문)
- 작성자 :
- 김*호
- 작성일 :
- 2021-07-26 11:48:33
- 조회수 :
- 5,351
- 구분 :
- 개발환경 / 3.10
- 진행상태 :
- 완료
Q
먼저 짚어가고싶은질문
이렇게 이해하는 게 올바른 이해가 맞을까요 ??
질문1 >>
1. web.xml 예외처리
- web.xml 단에서 500 오류 404 오류 에 대응하는 jsp 페이지를 넘겨준다.
( 사례 : selectList.do 는 컨트롤러에 매핑되어있으나 selectList2.do 는 컨트롤러에 매핑이 안되어있음. 404오류 > web xml에 써진 jsp페이지 출력.
2 dispatchersevlet .xml 예외처리
- dispatchersevlet 에서 org.springframework.web.servlet.handler.SimpleMappingExceptionResolver
이것은 Controller 에는 잘 진입하였으나 , 서비스과정 (serviceImpl java 코드 실행과정) 에서 오류가나는경우에 넘어갈 페이지를 설정해주는 거라고 이해하면될까요 ?
( 사례 : (1) 회원 정보 입력 화면 에서 불량이용자가 age input 에 일부러 숫자가 아닌 문자가 들어와서 > 컨트롤러까지 접근은 성공하여서 404에러는 아니지만. >> 실제 join 서비스(serviceImpl) 를 돌리는 과정에서 int 형이 아니라서 오류가 생기는경우 -> dispatcherservlet 에 쓰여진 jsp 페이지 출력. (2) datasource 비밀번호 오류 등 db접근이 안되는 오류 발생시에 반환되는 jsp출력)
1, 2 이해한 것이 올바르게 이해하고 있는게 맞나요 ?
질문2 >> 아래 에 여러가지 exception 들이 있는데 이 익셉션들 정보는 spring 문서에서 확인가능한건가요? EgovBizException 은 커스터마이즈 해서 쓸수 있는건가요 ?
<prop key="org.springframework.dao.DataAccessException"> jsp주소</prop>
<prop key="org.springframework.transaction.TransactionException">jsp주소</prop>
<prop key="egovframework.rte.fdl.cmmn.exception.EgovBizException">jsp주소</prop>
<prop key="org.springframework.security.AccessDeniedException">jsp주소</prop>
질문3 >> web xml 로 현재는 동일한 error/error.jsp 페이지가 나오도록 구현하였는데 .
404든 500 이든
동일한 error.jsp 페이지로 이동하게 하되 .
해당 error.jsp 페이지에 어떤 오류인지 출력이 나오도록 구현방법이 있을까요 . ( 메시지 프로퍼티나, c: 태그 내장객체(?) 등 활용해서..)
ex) 500 오류시 - 500번 오류입니다 ! 출력 , 404오류시 - 404오류입니다! 출력
이렇게 이해하는 게 올바른 이해가 맞을까요 ??
질문1 >>
1. web.xml 예외처리
- web.xml 단에서 500 오류 404 오류 에 대응하는 jsp 페이지를 넘겨준다.
( 사례 : selectList.do 는 컨트롤러에 매핑되어있으나 selectList2.do 는 컨트롤러에 매핑이 안되어있음. 404오류 > web xml에 써진 jsp페이지 출력.
2 dispatchersevlet .xml 예외처리
- dispatchersevlet 에서 org.springframework.web.servlet.handler.SimpleMappingExceptionResolver
이것은 Controller 에는 잘 진입하였으나 , 서비스과정 (serviceImpl java 코드 실행과정) 에서 오류가나는경우에 넘어갈 페이지를 설정해주는 거라고 이해하면될까요 ?
( 사례 : (1) 회원 정보 입력 화면 에서 불량이용자가 age input 에 일부러 숫자가 아닌 문자가 들어와서 > 컨트롤러까지 접근은 성공하여서 404에러는 아니지만. >> 실제 join 서비스(serviceImpl) 를 돌리는 과정에서 int 형이 아니라서 오류가 생기는경우 -> dispatcherservlet 에 쓰여진 jsp 페이지 출력. (2) datasource 비밀번호 오류 등 db접근이 안되는 오류 발생시에 반환되는 jsp출력)
1, 2 이해한 것이 올바르게 이해하고 있는게 맞나요 ?
질문2 >> 아래 에 여러가지 exception 들이 있는데 이 익셉션들 정보는 spring 문서에서 확인가능한건가요? EgovBizException 은 커스터마이즈 해서 쓸수 있는건가요 ?
<prop key="org.springframework.dao.DataAccessException"> jsp주소</prop>
<prop key="org.springframework.transaction.TransactionException">jsp주소</prop>
<prop key="egovframework.rte.fdl.cmmn.exception.EgovBizException">jsp주소</prop>
<prop key="org.springframework.security.AccessDeniedException">jsp주소</prop>
질문3 >> web xml 로 현재는 동일한 error/error.jsp 페이지가 나오도록 구현하였는데 .
404든 500 이든
동일한 error.jsp 페이지로 이동하게 하되 .
해당 error.jsp 페이지에 어떤 오류인지 출력이 나오도록 구현방법이 있을까요 . ( 메시지 프로퍼티나, c: 태그 내장객체(?) 등 활용해서..)
ex) 500 오류시 - 500번 오류입니다 ! 출력 , 404오류시 - 404오류입니다! 출력
환경정보
-
- OS 정보 : WINDOWS 10
- 표준프레임워크 버전 : 3.10.0
- JDK(JRE) 정보 : 1.8.45
- WAS 정보 : Tomcat 8.5.57
- DB 정보 : MariaDB
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크센터 입니다.
질문1 답변)
기재하신게 맞습니다.
공통컴포넌트를 기본으로 개발을 진행하신다면
다음 파일에 정의되어 있습니다.
/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml
질문2 답변)
EgovBizException의 커스토마이징은 가능합니다.
위에 언급한 설정파일을 참고하셔서
확인하시면 됩니다.
자세한 내용은 다음 위키페이지를 참조 하시면 됩니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:bsl:exception_handling
질문3 답변)
질문하신 내용과 같은 방식으로 처리하실려면
다음을 참고하시면 좋을듯 합니다.
https://jhgan.tistory.com/13
감사합니다.
표준프레임워크센터 입니다.
질문1 답변)
기재하신게 맞습니다.
공통컴포넌트를 기본으로 개발을 진행하신다면
다음 파일에 정의되어 있습니다.
/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml
질문2 답변)
EgovBizException의 커스토마이징은 가능합니다.
위에 언급한 설정파일을 참고하셔서
확인하시면 됩니다.
자세한 내용은 다음 위키페이지를 참조 하시면 됩니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:bsl:exception_handling
질문3 답변)
질문하신 내용과 같은 방식으로 처리하실려면
다음을 참고하시면 좋을듯 합니다.
https://jhgan.tistory.com/13
감사합니다.