2 minute read

JSP - 6

  • 예외 처리: 예외 처리 페이지 만들기
  • 필터: 로그 기록하기



예외 처리 - 1. 개요

  • 예외 처리 (a.k.a 오류 처리)
    • 프로그램 실행될 때 특정 문제가 발생하면 정상 실행을 중단하고 다른 처리를 하는 것

      => 프로그램의 비정상적인 종료를 방지!!

  • 예외 처리 방법
    • page 디렉티브 태그 이용
    • web.xml 파일 이용
    • try/catch/finally 구문 이용

      위 3가지 방법 우선 순위 (try-catch > page 디렉티브 > web.xml)



예외 처리 - 2. page 디렉티브 태그 사용

  • 태그의 errorPage, isErrorPage 속성 사용

  • errorPage 속성
    • 오류 발생 시 처리할 오류 페이지로 이동!
    • <%@ page errorPage = "오류 패키지 URL" %>
  • isErrorPage 속성
    • 현재 페이지를 오류 페이지로 호출!
    • <%@ page isErrorPage = "true" %>

      이때 오류 페이지에서 exception 내장 객체 메서드 사용 가능

메서드 형식 설명
getMessage() String 오류 이벤트와 함께 들어오는 메시지 출력
toString() String 오류 이벤트의 toString()을 호출, 간단한 오류 메시지 확인
printStackTrace() String 오류 메시지의 발생 근원지를 찾아 단계별로 오류 출력



예외 처리 - 3. web.xml 파일 이용

  • web.xml 파일을 통해 오류 상태와 오류 페이지 출력
    • <error-page></error-page> 요소에 처리할 오류 코드/유형 호출!
  • 오류 코드로 오류 페이지 호출

    <error-page>
    <error-code> 오류 코드 </error-code>
    <location> 오류 페이지 URI </location>
    </error-page>

  • 예외 유형으로 오류 페이지 호출

    <error-page>
    <exception-type> 예외 유형 </exception-type>
    <location> 오류 페이지 URI </location>
    </error-page>



예외 처리 - 4. try-catch-finally 구문 이용

  • 자바의 예외 처리 구문 - 스크립틀릿 태그에 작성
    • try {// 예외가 발생할 수 있는 실행문}
    • catch {// 예외 처리문}
    • finally {// 예외와 상관없이 무조건 실행되는 문장}






필터 - 1. 개요

  • 필터,
    • 클라이언트와 서버 사이에서 request와 response 객체를 먼저 받아 사전/사후 작업 등 공통적으로 필요한 부분을 처리하는 것
  • 필터의 기능
    • Request 필터
      • 웹 서버의 정적 리소스에 도착하기 전에 수행
      • 사용자 인증, 요청 정보 로그 파일로 작성, 암호화 인코딩..
    • Response 필터
      • 클라이언트에게 도착하기 전에 수행
      • 응답 결과 데이터 압축, 응답 결과에 내용 추가/수정, 총 서비스 시간 측정..



필터 - 2. Filter 인터페이스

  • Filter 인터페이스,
    • 필터 기능을 구현하는 데 핵심적인 역할
    • 자바 클래스로 구현해야 함
    • javax.servlet.Filter 임포트 해야 함
  • Filter 인터페이스 메서드 - 1. init()
    • 필터 인스턴스의 초기화
      • 필터 인스턴스 생성 후 한 번만 호출됨
      • “필터 서비스가 시작되고 있음”을 알림
  • Filter 인터페이스 메서드 - 2. doFilter()
    • 필터 기능을 작성
    • 연속된 체인을 따라 다음 필터로 이동하며 연속적으로 수행
      • filterChain.doFilter() 메서드를 기준으로 전처리/후처리로 나눠짐!
  • Filter 인터페이스 메서드 - 3. destroy()
    • 필터 인스턴스 종료 전에 호출됨
    • 필터로 열린 리소스를 모두 닫음



필터 - 3. web.xml 파일의 필터 구성

  • 필터 설정
    • 어떤 필터가 어떤 리소스에 적용되는지 JSP 컨테이너에 알려주는 역할
  • 적용 순서
    • 여러 필터가 설정된 경우, 선언된 순서대로 실행됨!
  • 필터 구성 - <filter> 요소
    • WEB APP 에서 자바 필터와 매개변수를 설정하는데 사용
      <filter>
      <filter-name> 필터 이름 <filter-name>
      <filter-class> 클래스 이름 <filter-class>
      <filter>

      클래스 아래에 추가 가능

  • 필터 구성 - <filter-mapping> 요소
    • 특정 리소스에 대해 어떤 필터를 사용할 지 설정하는데 사용
      <filter-mapping>
      <filter-name> 필터 이름 <filter-name>
      <url-pattern> 요청 URL 패턴 </url-pattern>
      <filter-mapping>






과제

  • 11, 12단원 연습문제 / ~7/8(금)까지

  • 이형록_220524_JSP과제

  • 내용

    • 1~3번
      • 교재 읽고 답 찾기
      • 메모장에 타이핑
    • 4~6번
      • 교재 읽고 실습
      • 기본 소스 임포트 해서 확인
    • 7번
      • Book Market Mall 만들기 - 정답 소스 없음 (구글에 검색!!)
      • 수업용 예제, ‘Web Market Mall’ 참고!






nice!!!

Updated: