TIL | 설정 파일 - server.xml / web.xml

김윤희·2022년 8월 1일
0

Tomcat의 설정 파일 server.xml / web.xml

server.xml / web.xml


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

❗ STS에 servers 폴더 안에 파일들은 tomcat의 conf폴더에 있는 설정 파일들의 복사본이다. 하나의 tomcat프로그램을 공유하면서 설정만 다른 여러 서버를 등록가능하다
ex) 테스트 서버, 개발 서버, 배포 서버, 등...

📌 톰캣설치경로/conf/server.xml

파일을 열어보면
서버(tomcat) 안에 service(catalina) 가 있고
그 안에 connector 들이 보이고
그 안에 Engine (Engine은 여러 Host 포함 가능, 그 중에서 어떤 Host를 default로 할 것인지 지정할 수 있다. ex) localhost를 default로 지정)이 보이고
Engine안에 Host 가 있다
(Host에

<Host appBase="webapps" autoDeploy]="true" name"localhost" unpackWARs="true">

위에 코드를 볼때 unpackWARs를 true로 한다는 건 war로 배포를하면 자동으로 압축을 푼다는 것이고,
appBase 가 webapps는 tomcat에 webapps이 폴더 안에 war 파일을 넣는 것
)
그 아래 context
(

<context docBase="ch2" path="/ch2" reloadable="true" source="org.eclipse.jst.jee.server;">

context가 ch2로 잡혀있고 reloadable을 true로 한다는 건 변경되면 자동으로 reload 시킨다는 뜻이다
)


📌 톰캣설치경로/conf/web.xml

Tomcat의 모든 web app의 공통 설정이 들어있는 파일이다

이 파일을 보면 servlet 등록하는 부분이 있는데
원격프로그램을 사용하려면
1. 서블릿 등록(=servlet 등록하는 부분)
2. url 연결(=servlet-mapping)
이렇게 진행되는데 이 과정을 원래 web.xml에서 했었다
하지만 이제 1번 서블릿 등록의 경우 @Controller으로
2번의 경우 @RequestMapping으로 바뀌고 있다
(사실 @Controller, @RequestMapping은 스프링에서만 사용하고, 서블릿에서는 @WebServlet을 사용한다)
✔ 그래서 이 파일이 필수였는데 요즘에는 선택으로 바뀌고 있다


📌 웹앱이름/WEB-INF/web.xml

개별설정 web.xml 파일에서는
context 파일 설정하고 listener와 servlet, servlet-mapping이 있는데 위에서 말한 것처럼 web.xml에 모든 설정을 다 넣어주려면 많은 사람들이 파일을 만져야하는 번거로움이 생기기 때문에 @(어노테이션)으로 설정하고 mapping 해주는 방법으로 한다

0개의 댓글