컨테이너가 3.0보다 이전 버전의 Servlet을 사용하기 때문에 web.xml을 사용해야한다고 가정합니다.
스프링 부트는 Servlet 3.0을 기반으로합니다. SpringBootServletInitializer를 확장하고 Spring에게 Servlet 3.0 지원을 사용하도록 지시하는 configure 메소드를 재정의하기 위해 메인 클래스를 업데이트해야합니다. Tomcat과 같은 임베디드 컨테이너에는 Servlet 3.0이 필요합니다. 따라서 임베디드 컨테이너에서 개발 프로세스 (JUnit 테스트 포함) 중에 프로젝트를 시작하려는 경우, 제가 아는 바로는 web.xml을 Servlet 3.0으로 다시 작성하는 것입니다. java config. 하지만 이전 컨테이너에 앱을 배포하려는 경우 여전히 spring-boot-legacy
모듈을 사용하여 앱을 배포 할 수 있습니다. 그것은 당신이 오래된 컨테이너를 위해 web.xml을 사용할 수 있도록 해줍니다; 해야 할 일은 org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener
을 web.xml에 추가하는 것입니다.
이전 컨테이너에 전쟁을 배치하는 방법에 대한 자세한 내용은 스프링 부트의 official documentation을 참조하십시오.
봄 부팅은 ServletContext를 을 (서블릿 등 등록) 초기화 서블릿 3.0 API를 사용 그래서 당신은 서블릿 2.5 컨테이너에 상자 밖으로 같은 응용 프로그램을 사용할 수 없습니다. 그러나 특별한 도구를 사용하여 이전 컨테이너에서 Spring Boot 응용 프로그램을 실행할 수도 있습니다. org.springframework.boot : spring-boot-legacy를 종속성 (스프링 부트 코어와 별도로 유지 관리하고 현재 1.0.2.RELEASE에서 사용 가능)로 포함하면, 수행해야 할 작업은 입니다. web.xml을 열고 문맥 수신기를 선언하여 응용 프로그램 컨텍스트와 필터 및 서블릿을 만듭니다.
입력 해 주셔서 감사합니다. 현재 서블릿 3.0과 톰캣 7.0.75를 사용 중입니다. web.xml을 고집하는 이유는 서블릿 매핑이 많고 스프링 부트 프로젝트로 변환하기를 원하기 때문입니다. 현재 web.xml을 (servletcontainerinitializer)와 같은 적절한 것으로 대체 할 계획이 있습니까? – NatureWonder