Web.xml 이란?
Web Application의 배포 서술자(DD, Deployment Descriptor)이다.
웹 애플리케이션의 배포 관련 설정을 위해 작성하는 파일이고, WEB-INF/web.xml 파일에 위치하고,
서블릿과 JSP를 어떻게 실행하느냐에 관한 정보가 들어있다.
DD는 Tomcat 서버를 가동할 때 읽혀진다.
<web-app> </web-app>
web.xml의 시작과 종료를 한다.
<display-name>apiBoard</display-name>
애플리케이션의 표시이름을 설정하는 부분이다.
이클립스에서는 기본적으로 프로젝트명이 설정되며, 필요하다면 수정 가능하다.
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<welcome-file-list></welcome-file-list>는 웹 서버 URL경로로 처음 들어왔을 때 클라이언트에 처음으로 노출되는 파일들을 명시해 놓은 리스트이다.( 웹 애플리케이션 요청 시 자동으로 보여줄 파일을 지정해둔 리스트)
애플리케이션이 실행되면 <welcome-file></welcome-file> 안에 있는 파일 중 하나를 보여준다.
애플리케이션에서 URL경로의 이동이 있을 경우 web.xml을 통해서 controller로 보내게 만들것이다.
여기서는 모든 경우를 FrontController로 보내고 FrontController에서 다시 어디로 보내질것인지를 정할것이다.
먼저 <Servlet>을 추가하여 서블릿 맵핑을 할 것이다.
...
<servlet>
<servlet-name>controller</servlet-name>
<servlet-class>controller.FrontController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>controller</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
<servlet>내부의 <servlet-name>과
<servlet-mapping>내부의 <servlet-name>은 같은 값이다.
이 두 개체를 연결시키는 역할을 한다.
<servlet-class>는 servlet의 경로를 나타낸다.
패키지경로부터 클래스경로까지 적으면 된다.
즉, servlet인 FrontController의 경로를 적으면된다.
<servlet-mapping>은 <servlet-class>로 안내해줘야 할 가상의 경로 값을 정해준다.
<url-pattern>으로 *.do 의 값을 지정해주면 .do로 끝나는 경로를 FrontController에게 안내해주는 것이다.
...
전체적으로 보면 처음 어플리케이션이 실행되면 web.xml을 읽고
<welcome-file-list>안의 <welcome-file>들 중 하나를 출력한다.
그리고 url이 "~~~~.do" 들어오는 것을 servlet인, FrontController에게 위임하여 처리하도록 설정해 놓은 것이다.
'Web Programming > JAVA MVC' 카테고리의 다른 글
JDBC / 이클립스 오라클DB 연결 / Oracle JDBC 연결방법 (0) | 2021.06.08 |
---|---|
이클립스/톰캣/the server configuration is missing or invalid (0) | 2021.05.28 |
Dynamic Web Project 생성후 Tomcat Port변경 (0) | 2021.05.27 |