스프링7 필터와 인터셉터 필터 & 인터셉터 특정 페이지는 로그인이나 권한 없이는 접근할수 없도록 해야하는 경우가 있다. 예를들면 로그인을 해야만 접근가능한 페이지가 존재할것이다.(ex 프로필수정 등) 그러나 비 로그인 사용자도 URL을 직접 호출하면 해당 페이지에 접근이 가능하다. 이를 방지하기 위해서 앞서 쿠키& 세션을 통해 로그인 상태를 유지하도록 했었다. 모든 컨트롤러에 로그인 상태를 검사하는 로직을 작성하게 되면 많은 코드 중복과 수정발생시 난감한 상황이 생길것이다. 모든 애플리케이션 단위에서 공통적으로 로그인 여부를 확인할수있어야하고 더 쉽게 로직 수정이 가능하게 할수는 없을까? 모든 애플리케이션 단위에서 공통적으로 처리해야하는 것을 공통관심사 라고한다. 관련: AOP 이런 공통 관심사는 스프링 AOP로 해결할수있지만 .. 2022. 1. 3. 서블릿 WAS 서버는 에플리케이션 로직을 전담으로 처리하는 서버라는걸 이전에정리한 적있다 스프링으로 로직을 설계하여 WAS 서버를 구현한다. 스프링은 이를 돕기위해 여러 편의 기능을 제공하는데 이 기능의 기반이 되는 서블릿에 대하여 정리해보고자 한다. 서블릿에 대하여 WAS 서버를 직접 구현해야 한다면 어떨까? 위와같은 다양한 서버 기본처리부터 핵심로직까지 직접 설계해야할것이다. 서블릿은 기본처리부분을 자동으로 처리해주고 개발자는 핵심로직만 짜면 되도록 해준다. //서블릿 코드 @WebServlet(name = "helloServlet", urlPatterns = "/hello") public class HelloServlet extends HttpServlet { @Override protected void .. 2021. 11. 17. Spring 동시요청 처리 서비스를 배포하게 되면 여러 클라이언트에서 서비스를 이용할것이다. 동시 요청을 받게 될텐데 어떻게 해결하는지 알아보자. java spring은 멀티쓰레드를 이용하여 동시요청을 처리한다. 쓰레드는 한번에 하나의 코드라인만 수행한다. 동시처리를 위해서는 쓰레드를 추가하여 멀티쓰레드로 활용해야한다. 멀티 스레드 WAS는 요청시 쓰레드를 할당하여 로직을 수행하여 응답해준다. 만약 쓰래드가 한개라면 할당된 쓰래드의 로직 수행이 지연되면 그사이 들어오는 새로운 요청들은 모두 마비상태가 된다. 쓰래드를 적절히 추가 생성하여 동시요청을 동시처리 하도록 한다. 장점 • 동시 요청을 처리할 수 있다. • 리소스(CPU, 메모리)가 허용할 때 까지 처리가능 • 하나의 쓰레드가 지연 되어도, 나머지 쓰레드는 정상 동작한다. .. 2021. 11. 17. 이전 1 2 다음