0113 JSP

김강산·2022년 10월 13일
0

JSP

목록 보기
10/14

예제문제

  1. 예외 처리란 무엇인가?
    예외 처리는 프로그램이 처리되는 동안(프로세스) 특정한 문제가 발생했을 때(Error) 처리를 중단(Intersepter)하고 다른 처리(Exception)를 하는 것으로 오류 처리라고도 한다

  2. page 디렉티브 태그를 이용한 예외 처리 기법에 사용되는 속성에 대해 설명하시오.
    1) errorPage 속성으로 오류 페이지 호출하기:errorPage 속성은 오류 페이지를 호출하는 page 디렉티브 태그의 속성으로 형식은 다음과 같다

    2) isErrorPage 속성으로 오류 페이지 만들기: isErrorPage 속성은 현재 JSP 페이지를 오류 페이지로 호출하는 page 디렉티브 태그의 속성으로 형식은 다음과 같다
    이것을 쓰는 이유는 exception 객체를 사용하기 위해서 사용한다

  3. web.xml 파일을 이용한 예외 처리 기법에 대해 설명하시오.
    1) 오류 코드로 오류 페이지 호출하기
    404(페이지 없음), 500(프로그래밍 오류)..

    2) 예외 유형으로 오류 페이지 호출하기
    NullPointerException, ArrayOutofBound..

  4. web.xml 의 , 엘리먼트에 설정된 오류의 지정 서블릿/JSP 가 수행될 때 발생된 오류에 대한 정보가 HttpServletRequest 객체 통해 전달됨.

  • javax.servlet.error.status_code : 오류 코드

  • javax.servlet.error.exception_type : 예외 타입 정보 (Class 형 객체)

  • javax.servlet.error.message : 예외 메시지

  • javax.servlet.error.exception : 발생된 예외 객체

  • javax.servlet.error.request_uri : 오류 발생 파일의 URI

  1. include => tiles로 대체(header, aside, bottom, body)

12장

Filter

  1. 필터의 개요
  2. Filter 인터페이스의 구현 클래스
  3. web.xml 파일의 필터 구성
  4. [웹 쇼핑몰] 로고 기록하기

학습목표

  • 필터의 개념을 이해한다
  • Filter 인터페이스의 구현 클래스 작성 방법을 익힌다
  • web.xml 파일에 필터를 구성하는 방법을 익힌다
  • 웹 쇼핑몰의 로그 기록을 만든다

필터(Filter)

  • 클라이언트와 서버 사이에서 request와 response 객체를 먼저 받아 사전/사후 작업 등 공통적으로 필요한 부분을 처리하는 것을 말한다

  • 필터는 클라이언트의 요청이 웹 서버의 Servlet, JSP, HTML 페이지 같은 정적 리소스에 도달하기 전과, 반대로 정적 리소스에서 클라이언트로 응답하기 전에 필요한 전처리를 가능하게 한다

  • 필터는 HTTP 요청과 응답을 변경할 수 있는 코드로 재사용이 가능하다

  • 클라이언트와 정적 리소스 사이에 여러 개의 필터로 이루어진 필터 체인을 제공하기도 한다

필터의 기능
Request 필터 : 인증(사용자 인증), 요청 정보를 로그 파일로 작성, 암호화 인코딩 작업
Response 필터 : 응답 결과 데이터 압축, 응답 결과에 내용 추가/수정, 총 서비스 시간 측정

Filter 인터페이스

  • 필터 기능을 구현하는데 핵심적인 역할을 함
  • 클아이언트와 서버의 리소스 사이에 위치한 필터의 기능을 제공하기 위해 자바 클래스로 구현해야 함

init() 메소드

  • JSP 컨테이너가 필터를 초기화할 때 호출되는 메소드

AuthenFilter.java
Filter를 implement를 하면 필수 메소드가 3개가 있어야 한다

init 메소드는 초기화하는 메소드
doFilter 메소드는 기능을 담당하는 메소드
destroy 메소드는 해제하는 메소드

filter01.jsp
이페이지에서 전송을 하게되면 filter01_process.jsp로 이동하게 된다

filter01_process.jsp
filter01.jsp에서 전송을 받아 입력된 값을 보여준다

web.xml
web.xml에 filter와 filter-mapping을 만들어준다
filter에는 filter-name과 filter-class을 만들어준다
filter-mapping에는 filter-name과 url-pattern을 만들어준다

결과
이름을 입력해주면 filter01_process.jsp에서 보여준다

InitParamFilter.java
InitParamFilter init 메소드에 filterConfig를 만들어준다
그다음 doFilter 메소드에서 filterConfig.getParameter로 값을 가져온다

filter02.jsp
아이디와 비밀번호를 작성해서 전송한다

filter02_process.jsp
화면에 입력된 id와 password를 보여준다

web.xml
web.xml에 filter와 filter-mapping 그리고 init을 사용했기 때문에 init-param을 만들어준다
filter에는 filter-name과 filter-class을 만들어준다
filter-mapping에는 filter-name과 url-pattern을 만들어준다
init-param은 id값과 password값을 받아와야 하기 때문에 두번 작성해서
param-name과 param-value를 만들어준다

결과

0개의 댓글