티스토리 뷰
[Spring Boot] Tomcat에 war 배포시 404 Error (SpringBootServletInitializer)
루우지 2019. 6. 7. 16:11간단한 Web 프로젝트를 Spring Boot로 만들었는데
이상하게 Tomcat에 War로 올리면 404 에러로 경로를 못찾는 현상이 발생했다.
덕분에 몇시간을 날렸는데 이유는 간단했다..
Spring Boot의 Main 클래스에 SpringBootServletInitializer를 상속받지 않아서였다.
일반적인 Spring Framework에서는 Web.xml에 DispatcherServlet을 등록하는 작업이 필요했다.
Servlet 3.0에서는 web.xml이 없이도 배포가 가능 해졌는데 Apache Tomcat 7부터 지원을 한다.
web.xml의 역할을 WebApplicationinitializer 인터페이스를 구현하여 프로그래밍으로 ServletContext를 구현할 수 있도록 바뀐것이다.
SpringBootServletInitializer는 WebApplicationinitializer의 구현체이다.
SpringBootServletInitializer를 이용하여 WebApplicationContext를 생성하여 Servlet Context에 추가할 수 있다.
나 같은 경우에는 프로젝트에 web.xml도 없었고, WebApplicationinitializer를 구현한 SpringBootServletInitializer도 없었기 때문에 Tomcat에서 URL의 요청을 받아드릴수가 없었던 것이다..
SpringBootServletInitializer를 상속 한다는건 결국 Tomcat과 같은 Servlet Container 환경에서 Spring Boot Application을 동작 가능 하도록 Web Application Context를 구성한다는 의미이다.!
나와 같은 삽질은 다른 사람들은 하지 않았으면....
'JAVA > SPRING FRAMEWORK' 카테고리의 다른 글
[Spring Boot] 스프링 부트에서 CORS 전역 설정하기 (0) | 2019.04.21 |
---|---|
[Spring] JUnit의 어노테이션과 메소드 (0) | 2018.09.10 |
[Spring] IoC와 DI (0) | 2018.09.10 |
- Total
- Today
- Yesterday
- 위대한 쇼맨 후기
- 대항해시대 다클
- 대항해시대 다음 런처
- 대항해시대
- 위대한 쇼맨 ost
- 데스큐어
- 구글 클라우드 플랫폼
- React.js
- 정보처리기사 실기 후기
- JNI INVOKE
- 합격 후기
- 정보처리기사 2018 2회
- HTTPie
- 대항해시대 로그인
- 빈파일
- JNI SIGNITURE
- 대항해시대 런처
- lxd
- 다클 코드
- JNI
- JNI 시그니처
- Linux
- EACCES: permission denied
- 정처기 실기
- vite.js
- 대항해시대 넷마블 런처
- OSI 7Layer
- 폴더선택다이얼로그
- 위대한 쇼맨
- 다클 빈
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |