우리네 장

server.xml과 context.xml 차이 ? 본문

JAVA/JVM

server.xml과 context.xml 차이 ?

qpmi1zm29 2020. 12. 28. 16:37

context.xml은 tomcat 버전이 올라가면서 server.xml에서 떨어져 나온 설정파일이다.

 

server.xml은 서버에 대한 설정파일로 톰캣 서버 하나 당 하나씩 존재한다.

webapplication 여러 개가 하나의 톰캣 서버에서 돌아가고 있을 경우, 모든 application에 공통으로 적용할 설정에 대해 정의 할 때 사용한다

( ex. 보안 관련 설정 )

 

context.xml은 webapplication 당 하나씩 존재하는데 web.xml과 한 쌍으로 존재한다.

별개의 webapplication 마다 server와 관련된 설정을 다르게 해주고 싶을 때 정의하여 사용한다.

( ex. 데이터 소스 관련 설정 )

Server 아래 conf/나 webapplication의 META-INF/ 아래에서 설정한다.

 

web.xml도 각 webapplication마다의 설정이 필요할 때 사용되는데,

server와 관련된 설정이 아니라 web app과 관련된 설정이 필요할 때 정의하여 사용한다. 

: 배포서술자 (deployment descripter ) - web app에 대한 기본 설정파일 

( ex. 서블릿 매핑이나 세션 시간 설정 )

Server아래 conf/나 webapplication의 WEB-INF/ 아래에서 설정한다.

 

 

개발환경에서의 프로젝트 구조                                               톰캣 서비스 환경에서의 프로젝트 구조

 

 

이클립스에서 톰캣을 사용해서 Mybatis를 사용하다가,

context.xml과 server.xml 모두에서 data source 설정이 가능하다는 것을 알았다.

두 방법의 차이점을 보자.

 

server.xml 에서 data source 등록 

tomcat 5.5 이하

 

server.xml - resource 태그

globalnamingresources 태그 아래에 resource를 설정하고,

host 태그 아래 resourceLink 태그로 등록하여 사용한다.

 

server.xml 내의 host 태그

 

 

 

context.xml에서 data source 등록

tomcat 5.5 이상

더 권장!

 

context.xml 맨 아래 부분 - resource 태그

 

context.xml에 resource 태그를 이용해서 data source를 등록할 경우,

tomcat이 context.xml을 읽어 server.xml의 host아래에 자동으로 등록해 준다.