일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring Boot
- SpringBoot
- pointcut
- Proxy
- spring
- QueryDSL
- Servlet
- 스프링 핵심 기능
- Android
- java
- kotlin
- transaction
- AOP
- 김영한
- 그리디
- 알고리즘
- db
- JPQL
- 자바
- 인프런
- 스프링
- JDBC
- Exception
- http
- springdatajpa
- 스프링 핵심 원리
- Thymeleaf
- jpa
- 백준
- Greedy
- Today
- Total
목록Filter (4)
개발자되기 프로젝트
특정 조건을 만족할 때 만 프록시가 동작하도록 하자. 1. LogTraceFilterHandler public class LogTraceFilterHandler implements InvocationHandler { private final Object target; private final LogTrace logTrace; private final String[] patterns; public LogTraceFilterHandler(Object target, LogTrace logTrace, String[] patterns) { this.target = target; this.logTrace = logTrace; this.patterns = patterns; } @Override public Objec..
1. 예외 발생과 오류 페이지 요청 흐름 1. WAS(여기까지 전파) 컨트롤러(/errorpage/ 500) -> View 오류가 발생하면 오츄 페이지 출력을 위해 WAS내부에서 다시 호출이 발생함. 필터, 서블릿, 인터셉터가 다시 호출된다. 로그인 인증같은 경우 컨트롤러까지 들어갔다는 것은 이미 인증을 통과한 것인디... 다시 필터, 인터셉터가 호출되어야 하나?? 비효율적인디.. 결국 클라이언트로 부터 발생한 정상 요청인지, 아니면 오류 페이지를 출력하기 위한 내부 요청인지 구분 필요! 서블릿은 이런 문제를 해결하기 위해 DispatcherType 이라는 추가 정보를 제공 2. Dispatcher Type 필터는 이런 경우를 위해서 dispatcherTypes 라는 옵션을 제공 log.info("dis..
모든 요청을 로그로 남기는 필터를 개발해보자. 1. LogFilter import lombok.extern.slf4j.Slf4j; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.UUID; @Slf4j public class LogFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { log.info("log filter init"); } @Override public void doFilter(ServletReque..
1. 공통 관심사항. 로그인 한 사용자만 상품 관리 페이지에 들어갈 수 있어야 한다. 하지만 로그인 하지 않은 사용자도 다음 URL을 직접 호출하면 상품 관리 화면에 들어갈 수 있다 ㄷㄷ 어떻게 막지?? 각 컨트롤러에서 로그인 여부를 체크하는 메서드를 추가하면 되긴 한다. 하지만 모든 로직에다가 추가해야 하고, 새로운 로직이 만들어지면 또 적용해야하고 유지보수도 어려워진다. 이렇게 애플리케이션 여러 로직에서 공통으로 관심이 있는 있는 것을 공통 관심사(cross-cutting concern)라고 한다. 여기서는 등록, 수정, 삭제, 조회 등등 여러 로직에서 공통으로 인증에 대해서 관심을 가지고 있다. 스프링의 AOP로도 해결할 수 있지만, 웹과 관련된 공통 관심사는 지금부터 설명할 서블릿 필터 또는 스프..