-
TIL 74일 - Filters공부/Spring 사용한 프로젝트 2022. 3. 13. 16:01
Filters
spring-web 모듈은 몇몇 유용한 필터들을 제공한다.
- form Data
- Forwarded Headers
- Shallow Etag
- CORS
Form Data
브라우저는 form 데이터를 오직 HTTP GET과 HTTP POST로만 submit할 수 있다. 그러나 브라우저가 아닌 클라이언트는 이 뿐만 아니라 HTTP PUT, PATCH, DELETE를 사용할 수 있다. 서블릿 API는 form 필드 access가 오직 HTTP POST를 지원하기 위해 ServeletRequest.getParameter*() 메서드를 요구한다.
spring-web모듈은 HTTP PUT, PATCH, DELETE 요청을 해석하기 위해서 application/x-www-form-urlencoded content 타입과 함께 FormContentFilter를 제공한다. 또한 이 필터는 요청의 body로 부터 form 데이터를 읽는다. 그리고 ServletRequest를 ServeletRequest.getParameter*() 메서드들을 통해 form data가 이용가능하게 하기 위해서 감싼다.
/* 그만하고 필터는 뭘까 */
필터는 스프링의 독자적인 기능이 아니라 자바 서블리셍서 제공하는 기능이라고 한다. 스프링 프레임워크는 들어온 요청이 디스패쳐 서블릿에 의해 컨트롤러에 매핑되는데, filter는 요청이 디스패쳐에 의해 다뤄지기 전, 후에 동작한다고 한다.
따라서 필터를 사용하면 클라이언트의 요청을 가로채어서 서버컴포넌트의 공통적인 기능들을 수행시킬 수 있다고 한다.
참고글
https://gardeny.tistory.com/35
뭐... 대충 역할은 알겠다...
'공부 > Spring 사용한 프로젝트' 카테고리의 다른 글
TIL 76일 - JWT 토큰 검증 (0) 2022.03.15 TIL 75일 - 로그인 시 jwt 반환 (0) 2022.03.14 TIL 73일 - 디스패쳐 서블릿 (0) 2022.03.12 TIL 71일 - 스프링 자잘자잘 (0) 2022.03.10 TIL 70일 - 로그인 실패 시 에러 메시지 보여주기... (0) 2022.03.09