반응형 Interceptor4 getReader() has already been called for this request 해결 방법 java.lang.IllegalStateException: getReader() has already been called for this request 의 원인과 해결방법을 알아보겠습니다. 원인 위의 Exception은 request.getReader()를 한번 이상 사용할 때 발생합니다. request.getReader() 를 사용하게 되면 request body 를 읽기위한 스트림을 반환하고, 읽는동안 내부적으로 포인트를 사용하여 읽은 위치를 기억하게 됩니다. 처음 다 읽은 후 두번째 읽을 때는 이미 포인터가 body의 마지막부분을 기억하고 있기 때문에 읽을 데이터가 없다고 판단하게 되는 것이죠. 예를들어 Interceptor에서 아래와 같은 코드로 body의 데이터를 조회한다고 할 때 이미 인터셉.. Programing/JAVA 2023. 5. 25. Springboot MVC Filter, Interceptor, AOP 차이 실행시점 구현방법 Springboot Filter, Interceptor, AOP 차이 실행시점 구현방법 이번 포스팅에서는 Springboot MVC 모델을 활용해 Filter, Interceptor, AOP를 구현해보고 차이점과 실행시점에 대해서 알아보도록 하겠습니다. 우선 Spring MVC에서 Filter, Interceptor, AOP는 실행 시점의 차이가 있습니다. Dispatcher-Servlet 이전과 이후로 나눌 수 있는데, Filter는 Dispatcher-Servlet 이전 (Web Container가 관리), Interceptor 와 AOP는 Dispatcher-Servlet 이후에 동작합니다. (Spring Container가 관리) 그래서 Filter는 Spring Bean에 접근할 수 없고, Sp.. Programing/JAVA 2022. 5. 3. spring boot 2.x interceptor setting 스프링부트 인터셉터 등록 방법 spring boot 2.x interceptor setting 스프링부트 인터셉터 등록 방법 이번 포스팅에서는 spring boot 프로젝트에 인터셉터를 등록하는 방법을 알아보겠습니다. 간단히 순서만 우선 말씀드리면, 1. HandlerInterceptorAdapter extends 받은 실제 interceptor 구현 class 생성. 2. WebMvcConfigurer을 implements 받은 WebMvcConfig class 생성 후 1의 interceptor 등록. 의 순 입니다. ※ 2021.12.15 추가 Spring 버전 때문에 HandlerInterceptorAdaptor 가 deprecated 되었다면 (취소선) HandlerInterceptor 를 implements 하도록 합니다... Programing/Springboot 2020. 7. 14. Spring Interceptor 활용 세션 설정 인터셉터 세션설정 ajax, 페이지연결 구분 Spring Interceptor 활용 세션 설정 인터셉터 세션설정 ajax, 페이지연결 구분 이전 포스팅에서 AOP를 사용하여 세션을 체크 했었는데.. 이것에 문제가 있었죠. 아무리 리다이렉트를 해도 페이지가 넘어가지 않았던것..(분명 됐던거 같지만..) 원인은 차근차근 찾아보기로 하고.. (↓안된다....) Link : AOP 설정을 활용한 세션체크 그래서 찾아본 것이 Spring 의 Interceptor를 활용해서 세션을 체크하는 방법입니다.. 그럼 이 방법에 대해서 알아보겠습니다. 우선 로그인 세션을 체크하는 클래스를 작성합니다. -- 코드 텍스트 public class LoginCheckInterceptor extends HandlerInterceptorAdapter{ public boolean.. Programing/Spring 2017. 3. 31. 이전 1 다음 💲 추천 글 반응형