22. 필터

2022. 7. 15. 16:16·Java Spring/JSP와 스프링


1️⃣ 필터란?

개요

필터는 서블릿 필터라고 하며 웹 어플리케이션을 지원하기 위한 특수한 서블릿이다.

클라이언트 요청에 따라 서블릿이나 JSP가 실행되기전에 request, response객체를 조작이나 추가 처리가 가능하다.

 

기본적으로 특정 요청에만 작동하며, 여러개의 필터가 정해진 순서에 따라 배치될수 있다.

이때 클라이언트 요청 처리 이전에 먼저 실행된다.

리스너와 마찬가지로 단순히 기능만 구현하는 웹 프로그램의 경우 필터를 만들지 않아도 된다.

하지만 어플리케이션 설계 관점에서 유연하고 효과적인 어플리케이션 구현 및 운영이 필요하다면

필터에 대해 알아둬야한다.

 

필터는 기존 코드 변경없이 어플리케이션에서 공통적으로 사용할수있는 구현에 사용된다.

활용 분야
  • 인증 : 로그인같은 공통기능을 개별 컨트롤러에서 중복구현하지 않고 기존소스를 활용할수있다.
  • 로깅/감시 : 특정페이지나 기능에 대해 감시하고 로그로 관리 필요시 요청수행전 로깅처리 가능. 
  • 국제화 : 다국어 처리는 필터를 통해 해당 언어로 변환 가능.
  • 한글 인코딩처리 : JSP나 post방식으로 전달되는 파라미터의 한글처리를 위해 setcharacterencoding을 안해도 된다.

2️⃣ 필터의 구조와 동작 과정

필터는 톰캣 서버를 시작할때 필터 구현 클래스의 어노테이션을 참조하여

javax.servlet.Filter 인터페이스를 구현한 클래스가 초기화된다.

필터는 여러개가 존재할수있으며, 각 필터는 init()메소드를 통해 초기화 된다.

 

init() 메소드는 필터 초기화시 한번만 실행된다.

사용자 요청에 따라 서블릿이나 jsp가 호출될때 어노테이션으로 설정된 필터 매핑 정보를 참조해

특정 서블릿이나 jsp에 대해 서로 다른 필터를 적용할수있다.

doFilter()은 해당 필터가 적용되었을때 수행할 작업을 구현하는 메인 메소드가 된다.

destroy()는 필터가 종료될 때 수행할 내용을 구현한다.

 

3️⃣ 필터 구현

 

필터 구현은 실제 코드를 작성하며 익히겠다.


[메인으로 돌아가기]

'Java Spring > JSP와 스프링' 카테고리의 다른 글

24. 한글 처리 필터 구현  (0) 2022.07.15
23. 리스너 종합  (0) 2022.07.15
21. 리스너  (0) 2022.07.15
20. 뷰 구현  (0) 2022.07.15
19. 컨트롤러 구현  (0) 2022.07.14
'Java Spring/JSP와 스프링' 카테고리의 다른 글
  • 24. 한글 처리 필터 구현
  • 23. 리스너 종합
  • 21. 리스너
  • 20. 뷰 구현
백고미
백고미
  • 백고미
    백고미의 정신세계
    백고미
  • 전체
    오늘
    어제
    • 분류 전체보기 (127)
      • [ 공지사항 ] (0)
      • 정보 (15)
        • 워프레임 (6)
        • 게임 (3)
        • 군대 (1)
        • 이민 (1)
      • Java Spring (43)
        • JSP와 스프링 (34)
        • Tip (9)
      • Spring boot (1)
        • Tip (1)
      • 직업 정보 (2)
        • 경찰 공무원 (2)
        • AAFES (0)
        • HD GFD (0)
      • 리뷰 (1)
        • 인터넷 (1)
      • Life (2)
        • 운동 (1)
        • 자격증 (1)
      • 소스모드 (28)
        • CSGO (7)
        • CSS (0)
        • HL2DM (3)
        • L4D2 (1)
        • BMS (0)
        • TIP (16)
        • Extension (1)
        • 문법 (0)
      • C# (4)
        • s&box (4)
      • LUA (8)
        • Garry's Mod (8)
      • Resource (11)
        • Player Model (1)
        • Npc Model (1)
        • Weapon Model (2)
        • PropPhyics (6)
        • PropDynamic (1)
        • Texture (0)
        • Animation Texture (0)
        • Overlay (0)
        • Effect Sound (0)
        • Particle (0)
      • 일기장 (1)
        • TRH (4)
        • 스케줄 (1)
        • Els (0)
        • 프로젝트 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • John John한 블로그
  • 공지사항

  • 인기 글

  • 태그

    경찰공무원 가산점표
    경기북부 병무청 가는길
    경기북부 병무청 가는 법
    경기북부병무청 망월사
    경기북부병무청 회룡역
    키벨류
    경기북부병무청 가는법
    병무청 가는 길
    경찰시험 응시 자격
    경찰 가산점표
    발표 PPT
    경기북부병무지청
    윈도우10 고양이
    운전면허 종류
    순경 가산점
    경기북부 병무청
    스쿼트 운동 효과
    경찰 간부후보생
    공찰공무원 필수과목
    윈도우10 1주년
    윈도우10 참가자 프로그램
    병무청 가는 법
    병무청가는길
    경기북부 병무청 가는 길
    원동기장치면허
    경찰공무원 선택과목
    윈도우10 닌자캣
    경찰 공무원 응시 자격
    경기북부병무청
    병무청가는법
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
백고미
22. 필터
상단으로

티스토리툴바