server.xml, web.xml

뫄뫄(ahk)·2022년 9월 8일
0

Spring

목록 보기
2/18

이 게시글은 남궁성의 스프링의 정석 강의를 듣고 정리한 것입니다.

Tomcat의 설정파일 중 2개를 알아보자

server.xml - Tomcat 서버 설정 파일
톰캣설치경로/conf/web.xml - 모든 webapp 공통 설정 파일(2번)
웹앱이름/WEB-INF/web.xml - webapp 개별 설정 파일(1번)

(eclipse 프로그램의)Servers 디렉터리 아래의 각종 설정파일은 Tomcat의 실제 conf 파일 내용을 sts에 복사한 것인데, 하나의 tomcat프로그램을 공유하며 설정만 다른 여러 서버를 등록 가능하다는 장점이 있다.(test, 개발, 실제 운영 서버..)

server.xml

전 게시글인 tomcat의 구조를 설명할 때 나왔던 이름들이 다 나온다.
Server, Service, Engine, Host, Context..
그 중 주목할만한 속성이있는 tag를 보면

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
  • unpackWARs="true" - WAR파일로 배포하면 자동으로 압축을 풀어라
  • appBase - application의 기본 디렉터리이다. 해당 이름의 폴더 아래에 WAR파일을 넣는다.
<Context docBase="firstSpring" path="/app2" reloadable="true" source="org.eclipse.jst.jee.server:firstSpring"/>
  • 새로운 spring project를 생성할 때마다 Context 태그가 하나씩 추가된다.
  • reloadable="true" -> 파일 수정시 서버를 자동으로 reload

server.xml의 tag 속성관련 tomcat 8.5 공식문서
https://tomcat.apache.org/tomcat-8.5-doc/config/host.html

web.xml


servers 디렉터리 아래에 있는 공통설정 파일이 먼저 적용된 후 /WEB-INF/web.xml 파일의 설정이 다시 적용된다.

공통 설정파일 web.xml 파일에서 servlet을 등록하고 url 매핑을 하는 태그들이다.

원격프로그램 실행을 위해서는 간단히 말하면 아래의 두 단계를 거쳐야한다.
1. 프로그램(servlet) 등록
2. URL 매핑

원래 servlet 등록과 URL매핑은 web.xml 파일에 위와 같이 등록하거나 @Controller 처럼 annotation을 등록하는 두 가지 방법이 있는데, 협업과 실수방지등의 이유로 xml에서 annotation으로 바뀌고 있다.

profile
NONONONONONOYes!

0개의 댓글