Spring

[jsp] 에러

sian han 2022. 5. 17. 19:27

 

※ 에러

 

jsp 에서의 에러 메시지 : 에러가 발생하면 그 에러가 어떠한 경로로 발생하게 되었는지

                                 스택을 뒤집어서 그 경로를 추적하여 에러 메시지 표시

 

에러처리 : 원래의 에러 메시지 대신 사용자에게 익숙한 문구가 표시되도록

                web.xml에서 에러를 코드별로 처리하도록 작성

 

 

 

404 - 사용자가 잘못된페이지 요청

500 - 서버에서 문제가있을 때 (코드오류) 

 

web.xml에서

<error-page>태그안에 에러코드명을 쓴다

 

 

▽ server.xml

<error-page>
    <error-code> 이런 에러가 나면 <error-code> 
    <location> 이 페이지를 보여줘<location>
<error-page>
<error-page>
  	<error-code>404</error-code> //404에러가 나면
  	<location>/herbmall/sandbox/errorTest/404code.jsp</location> // 원래는 이렇게 절대참조로 써야하는데
	<location>/sandbox/errorTest/404code.jsp</location>
    		//web.xml 은 절대참조인데, CONTEXTPATH가 자동추가되기때문에 이렇게 쓴다
</error-page>

 

 

contextPath 가 자동으로 추가되는 경우

1. web.xml (절대참조시 contextPath 가 자동으로 추가됨)

2. include 액션태그 & 지시자 ( 모든 include )

3. 모든 forward

 

<location>/herbmall/sandbox/errorTest/404code.jsp</location> // 원래는 이렇게 절대참조로 써야하는데
<location>/sandbox/errorTest/404code.jsp</location>

 => 따라서 contextPath 가 자동으로 추가된다

 

 

 

 

▷ 에러나면 사용자에게 보여줄페이지 500code.jsp

 

[1] 에러시 사용자에게 보여질 페이지에 setStatus를 먼저 셋팅한다

setStatus : 현재 페이지가 정상적으로 응답되는 페이지임을 지정하는 코드,
               이 코드가 생략되면 웹 브라우저는 자체적으로 제공하는 화면을 표시함

<%response.setStatus(HttpServletResponse.SC_OK);%>

 

[2] 사용자에 보여질 문구 body 에 작성

<body>
<p>
	서비스 사용에 불편을 끼쳐드려서 대단히 죄송합니다.<br>
   빠른시간내에 문제를 처리하겠습니다.	
</p>

</body>

 

 

 = > 500 에러가 발생하면

       server.xml 에서 500code.jsp 로 가락 지정했으니 해당 페이지로 가서

       500.jsp 의 body 안에있는 값이 사용자에게 보여진다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Spring' 카테고리의 다른 글

[jsp] 모델2 기반의 MVC 패턴 게시판의 흐름  (0) 2022.05.22
회원가입  (0) 2022.05.19
[jsp] 모델2 기반의 MVC 패턴  (0) 2022.05.18
[jsp] 쿠키 / 세션  (0) 2022.05.16
[jsp] 내장객체, 액션태그,자바빈  (0) 2022.05.13