Spring(4)
-
스프링 MVC 서블릿 컨테이너 초기화 지원
지난 포스팅에서 하나하나 서블릿 컨테이너와 디스패쳐 서블릿을 연결하고 그거를 또 스프링컨테이너랑 연결하는 작업을 해보았다. 해보았을 때 느낀점은 진짜 많은 일을 해줘야하고, 이걸 다 기억 언제하지? 라는 생각이 들었다. 지난 과정을 보면 1) ServletContainerInitializer interface를 구현해서 서블릿 컨테이너 초기화 코드를 만들었음. 2) 어플리케이션 초기화를 위해서 @HandlesTypes annotation을 적용함 3) /META-INF/services/jakarta.servlet.ServletContainerInitializer 파일에 서블릿 컨테이너 초기화 클래스 경로를 지정함 이렇게 해줘야하는데 너무 번거롭고 힘들다. 그래서 개발자들이 힘든것을 알았는데 스프링MVC에..
2023.11.27 -
스프링 컨테이너 등록
번 시간에는 WAS와 스프링을 통합하는 작업을 할 것이다. [목차] 1) 스프링 컨테이너 만들기 2) 컨트롤러를 스프링컨테이너에 빈등록 3) 디스패처 서블릿을 서블릿 컨테이너로 등록 이렇게 3가지 과정을 거칠것이다. 1) 스프링 컨테이너 만들기 일단 위에 프로젝트 파일 구조이다. 위 그림처럼 서블릿에 Dispatcher Servlet을 등록하는 과정을 해야한다. 그리고 스프링 컨테이너를 위해서 build.gradle에 스프링 라이브러리 추가가 필요하다. //스프링MVC implementation 'org.springframework:spring-webmvc:6.0.9' 위에 저 문장을 build.gradle에 추가한다. 추가하면 아래 소스처럼 될것이다. plugins { id 'java' id 'war'..
2023.11.26 -
서블릿 컨테이너 초기화2
서블릿 컨테이너 초기화 하는 두번째 방법을 소개하겠다. 지난 포스팅에서 아래 그림 처럼 서블릿 컨테이너 초기화에 대해서 소개하였다. 서블릿은 서블릿 초기화를 위해서 Servlet interface(ServletContainterInitializer)를 제공한다. 그래서 onStartup method로 초기화를 하였다. public interface ServletContainerInitializer { public void onStartup(Set
2023.11.26 -
서블릿 컨테이너 초기화1
WAS를 실행하는 시점에 초기화를 해야하는 작업이 있다. 스프링 부트 강의를 듣다가 서블릿 컨테이너를 초기화 할 수 있다는 것을 처음 알게 되었다. 과거에는 web.xml으로 초기화하였지만 요즘에는 자바 코드를 사용한 초기화도 지원하고 있어서 자바를 통해 알아보겠다. [초기화가 필요한 이유] 1) 서비스에 필요한 필터와 서블릿 등록 2) 스프링 사용하면 스프링컨테이너를 만들고 서블릿과 스프링을 연결하는 Dispatcher Servlet도 등록해야한다. 서블릿에는 초기화 인터페이스를 제공한다. 이름은 ServletContainerInitializer이다. https://tomcat.apache.org/tomcat-10.1-doc/servletapi/jakarta/servlet/ServletContainer..
2023.11.16