이 게시글은 남궁성의 스프링의 정석 강의를 듣고 정리한 것입니다.
Tomcat의 설정파일 중 2개를 알아보자
server.xml - Tomcat 서버 설정 파일
톰캣설치경로/conf/web.xml - 모든 webapp 공통 설정 파일(2번)
웹앱이름/WEB-INF/web.xml - webapp 개별 설정 파일(1번)
(eclipse 프로그램의)Servers 디렉터리 아래의 각종 설정파일은 Tomcat의 실제 conf 파일 내용을 sts에 복사한 것인데, 하나의 tomcat프로그램을 공유하며 설정만 다른 여러 서버를 등록 가능하다는 장점이 있다.(test, 개발, 실제 운영 서버..)
전 게시글인 tomcat의 구조를 설명할 때 나왔던 이름들이 다 나온다.
Server, Service, Engine, Host, Context..
그 중 주목할만한 속성이있는 tag를 보면
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
<Context docBase="firstSpring" path="/app2" reloadable="true" source="org.eclipse.jst.jee.server:firstSpring"/>
server.xml의 tag 속성관련 tomcat 8.5 공식문서
https://tomcat.apache.org/tomcat-8.5-doc/config/host.html
servers 디렉터리 아래에 있는 공통설정 파일이 먼저 적용된 후 /WEB-INF/web.xml 파일의 설정이 다시 적용된다.
공통 설정파일 web.xml 파일에서 servlet을 등록하고 url 매핑을 하는 태그들이다.
원격프로그램 실행을 위해서는 간단히 말하면 아래의 두 단계를 거쳐야한다.
1. 프로그램(servlet) 등록
2. URL 매핑
원래 servlet 등록과 URL매핑은 web.xml 파일에 위와 같이 등록하거나 @Controller 처럼 annotation을 등록하는 두 가지 방법이 있는데, 협업과 실수방지등의 이유로 xml에서 annotation으로 바뀌고 있다.