본문 바로가기
프로젝트 진행 공부/Servlet & JSP

7장 필터 / 리스너 / 오류처리

by 인생즐겜러 2022. 10. 27.
728x90
반응형

필터

 

클라이언트에서 서블릿 요청이 될 때 서블릿 수행 전과 후에 필터링 기능을 한다.

 

  • 서블릿 호출 전 요청을 가로채는 기능
  • 서블릿 호출 전 요청 내용을 점검 기능
  • 요청 헤더의 수정과 조정 기능
  • 서블릿이 호출된 후에 서블릿 응답을 가로채는 기능
  • 응답 헤더의 수정과 조정 기능

 

대표 기능

로그 기록 / 한글 처리

 

 

 

필터링 동작을 시킬 java 파일을 만들어서 web.xml 에 연결 시키면 작동

 

 

<filter> : 필터를 만듦.

<filter-mapping> : 필터링을 할 서블릿을 매핑

 

 

 

 

 


 

 

 

 

 

리스너

 

이벤트가 발생하면 수행되는 메소드를 가진 자바 객체

 

 

 

 

 


 

 

 

 

 

오류 처리

 

서블릿의 오류 처리 방법

  • 실행 코드를 try - catch로 구성
  • 메소드 선언부에 throws 절 선언 : throws 절이 있는 메소드를 사용하는 곳에서 try-catch 처리를 해줘야 함
  • web.xml에 오류 처리 설정 : 오류가 생기면 오류 페이지로 넘어가게 됨

 

 

 

 

 

web.xml 오류 설정

 

설정 방법은 아래와 같다.

<error-page>
	<error-code>   </error-code>
	<location>   </location>
</error-page>

<error-page>
	<exception-type>   </exception-type>
	<location>   </location>
</error-page>

 

  • <error-code>  : 404, 405 같은 에러 코드를 적는다. 해당 오류가 나면 location 페이지로 이동.
    <location> : 에러가 나면 이동할 페이지
  • <exception-type> : 오류를 정의된 객체 이름으로 적는다. 해당 오류가 나면 location 페이지로 이동.
                                   패키지 이름 까지 정확히 지정해야함.
                                   (ex) java.lang.NullPointerException => Null 오류. 개발자들의 제일 골아픈 오류

 

 

 

 

 

 

오류가 뜨면 HttpServletRequest 객체에 오류 정보가 등록 된다.

자동 등록이 되는 오류 정보들은 아래와 같다.

req.getAttribute() 로 추출 가능.

 

  • javax.servlet.error.status_code
  • javax.servlet.error.exception_type
  • javax.servlet.error.message
  • javax.servlet.error.exception
  • javax.servlet.error.request_uri

 

 

 

 

 


 

 

 

 

 

web.xml 태그 작성 순서

 

아래의 순서로 작성하는 게 웹 서버에서 오류를 발생 시키지 않는다.

 

? : 사용되지 않을 수도, 한번만 나올 수도 있다.

* : 사용되지 않을 수도, 여러번 사용될 수도 있다.

 

 

 

<display-name?>

<description?>

<distributable?>

<context-param*>

<filter*>

<filter-mapping*>

<listener*>

<servlet*>

<servlet-mapping*>

<welcome-file-list?>

<error-page*>

728x90
반응형

'프로젝트 진행 공부 > Servlet & JSP' 카테고리의 다른 글

9장 JSP 내장 객체  (0) 2022.10.27
8장 JSP 프로그래밍  (0) 2022.10.27
6장 상태 정보 유지 기술  (0) 2022.10.24
5장 서블릿 설정과 변수  (0) 2022.10.24
4장  (0) 2022.10.24

댓글