재밌고 어려운 IT를 이해해보자~!

서블릿 Filter, Listner, XML 본문

코리아IT핀테크과정

서블릿 Filter, Listner, XML

언제나즐거운IT 2024. 1. 18. 09:52

Filter 란 ?

요청을 탈취해서 수행을 하고 다시 돌려준다 ! Servelt보다 먼저 동작함. 정수기 필터같은느낌..?

 

init(): 필터 초기화 메서드, 서블릿 컨테이너가 생성될 때 호출된다.
• doFilter(): 고객의 요청이 올 때마다 해당 메서드가 호출된다. 필터의 로직을 구현하면 된다.
• destroy(): 필터 종료 메서드, 서블릿 컨테이너가 종료될 때 호출된다.

 

필터란 HTTP 요청과 응답을 변경할 수 있는 재사용 가능한 코드이다.
필터는 객체의 형태로 존재하며 클라이언트로부터 오는 요청과 최종 자원(JPS, 서블릿, 기타 자원) 사이에 위치하며 클라이언트의 요청 정보를 변경할 수 있다.

 

리스너란?

세션이 생겼을때

리스너란 특정 이벤트가 발생하기를 ‘귀 기울여’ 기다리다가 실행되는 메서드나 함수, 혹은 그 메서드를 지닌 객체를 가리킨다. 생소한 개념일 수도 있는 이벤트는 이 맥락에서는 발생한 특정 사건을 뜻한다. 마우스 클릭, 키보드 입력, 클라이언트로부터의 HTTP 요청, 웹 애플리케이션 시작, 종료 등이 그 예이다.

 

"리스너"
외부의 요청,자극,수행,액션 등을 항상 감지(모니터링)하는 것

contextInitialized 에다가 필요한 코드를 작성한다!
처음에 단한번 실행됨!

리스너는 implements다~ 상속이아니다.

 

여기서 리스너와 필터의 차이가 궁금해질 수도 있다. 분명 한 번 설정을 해두면 개발자가 매번 새로 코드를 입력하지 않아도 자동으로 실행된다는 점은 같다.

하지만 둘의 차이는 필터와 리스너의 개념을 떠올리면 뚜렷해진다. 필터는 클라이언트와 서블릿 사이에서 작업을 미리 수행하는 반면 리스너는 오가는 요청이나 응답에 관계 없이 특정 이벤트에 의해 실행된다.

 

 

XML ( EXtensible Markup Language )이란?


XML은 데이터를 저장하고 전달할 목적으로 만들어졌으며, 저장되는 데이터의 구조를 기술하기 위한 언어이다..XML은 수많은 응용 분야에서 데이터를 저장하고 전달하는 중요한 역할을 맡는다.
XML은 HTML과 매우 비슷한 문자 기반의 마크업 언어(text-based markup language)이다.

이 언어는 사람과 기계가 동시에 읽기 편한 구조로 되어 있다.

그러나 XML은 HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적으로만 만들어졌다. 또한, XML 태그는 HTML 태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있다.

 

XML 의 특징

1. XML은 다른 목적의 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
2. XML은 다른 시스템끼리 다양한 종류의 데이터를 손쉽게 교환할 수 있도록 해줌
3. XML은 새로운 태그를 만들어 추가해도 계속해서 동작하므로, 확장성이 좋음
4. XML은 데이터를 보여주지 않고, 데이터를 전달하고 저장하는 것만을 목적
5. XML은 텍스트 데이터 형식의 언어로 모든 XML 문서는 유니코드 문자로만 이루어짐

 

XML 의 구성

XML 문서는 HTML 문서와 마찬가지로 트리(tree) 형태의 계층 구조를 가진다.

이러한 XML 트리는 하나뿐인 루트(root) 요소부터 시작하여, 각각의 자식(child) 요소에 차례대로 연결된다. XML 트리 구조에 포함되는 모든 요소는 자신만의 자식(child) 요소를 가질 수 있다.

 

XM L은 부모와 자식 관계가 이루어진다.
그리고 html이나 head, body 등이 보이지 않을 뿐이지, 상당히 HTML과 유사한 모습!

 

 

 

 

 

 

 

 

 

*참조

https://kihwan95.tistory.com/6

https://velog.io/@ysm103408/Spring-filter%EB%9E%80

https://hleee.medium.com/%EC%84%9C%EB%B8%94%EB%A6%BF%EC%9D%98-%ED%95%84%ED%84%B0%EC%99%80-%EB%A6%AC%EC%8A%A4%EB%84%88-655afef33ccc

https://cmj092222.tistory.com/426

'코리아IT핀테크과정' 카테고리의 다른 글

Image Upload Update [TEAM PROJECT]  (0) 2024.01.20
HandlerMapper, Factory pattern  (2) 2024.01.19
JSTL, Custom tag  (0) 2024.01.17
Jquery practice  (0) 2024.01.16
비동기(asynchronous) 처리 , ajax, jquery  (0) 2024.01.15
Comments