Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- tomcat
- node stream
- 일시정지 모드
- 노드 스트림
- 스트리밍
- 구현
- node js
- 흐름 모드
- nodejs
- node.js
- Stream
- Spring
- 스트림
- javascript
- servlet
- 번역
- node 스트림
- javascsript
- prisma timezone
- prisma 시간
- SESSION
- 동영상 스트리밍
- 자바스크립트 시간 조절
- prisma
- node
- 자바스크립트 시간
- java
- Date
- jsp
Archives
- Today
- Total
벤권의 개발자 이야기
[Servlet] 필터(Filter) 적용 본문
req.setCharacterEncoding() 와 같이 한글이 깨지는 것을 방지하기 위해서 매번 POST 요청 마다 코드를 작성해 주어야 하거나 로그인 확인이 필요한 부분은 매번 같은 코드를 작성해주어야 한다.
하지만 필터를 이용하면 중복으로 코드를 작성하지 않고 해결할 수 있다.
필터(Filter)
필터는 단어 의미 그대로 특정한 서블릿,JSP 등에 도달하는 과정에서 필터링하는 역할을 위해서 존재하는 서블릿 API의 특별한 객체이다.
@WebFilter 애노테이션으로 특정 경로에 접근할 때 필터가 동작하도록 설계하면 로그인 확인이나 인코딩 설정과 같이 동일한 로직을 중복으로 작성하지 않고 적용할 수 있다.

필터는 한 개 이상, 여러 개를 적용할 수 있다.
아래 코드는 UTF8 인코딩을 설정해주는 필터 예제 이다.
애노테이선 내에 urlPatterns로 여러 경로에 대하여 해당 필터를 적용할 수 있다.
@Log4j2
@WebFilter(urlPatterns = {"/*"})
public class UTF8Filter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
log.info("UTF8Filter ..");
request.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
}
}
위 처럼 /* 로 지정 해놓으면 모든 요청에 대해 해당 필터를 거치게 된다.
'- > spring' 카테고리의 다른 글
[Spring] MyBatis를 쓰면 좋은 점 (1) | 2023.11.20 |
---|---|
[Spring] XML/어노테이션을 통한 객체의 적절한 Bean처리 (5) | 2023.11.14 |
[Servelt] Session, 세션 저장소, 세션 컨텍스트 (2) | 2023.10.01 |
[톰캣서버 인스턴스 중지에러] 불허되는 접근: 이 웹 애플리케이션 인스턴스는 이미 중지되었습니다 을(를) 로드할 수 없습니다 (2) | 2023.09.18 |
개인 공부를 시작 (2) | 2023.09.10 |