web.xml은 Web Application의 Deployment Descriptor(환경파일 : 배포서술자, DD파일)로서 J2EE Web Application의 기본이 되는 설정파일이다.
여기서 J2EE란 자바 플랫폼, 엔터프라이즈 에디션으로 자바를 이용한 서버쪽 개발을 위한 플랫폼이다. 버전 5.0 이후로 Java EE로 개칭되었다.
이러한 Java EE 스펙에 따라 제품으로 구현한 것을 Web Application Server(WAS)라 한다.
그리고 web.xml은 프로젝트 생성 후 WAS(예: 톰캣)을 구동할 때 web.xml을 메모리에 로딩한다.
요약하면, web.xml은 WAS를 구동할 때 메모리에 로딩되는 설정파일이라 할 수 있다.
- 모든 Web Application은 반드시 하나의 web.xml 파일을 가져야 한다.
- WEB-INF 폴더 아래에 존재한다.(톰캣의 web.xml의 경우는 경로가 다름)
web.xml에 작성하는 설정내용 (아래 내용이 전부는 아니다.)
- <web-app> : web.xml의 루트 엘리먼트. 시작과 끝. 이클립스에서 자동으로 등록되어있다.
- <display-name> : 해당 배포서술자 파일의 title 느낌. 자동생성 시 프로젝트명으로 설정된다.
- <description> : 어떤 프로젝트를 위한 배포서술자인지 상세하게 기록한다.
- <listener> : 어떤 이벤트가 발생할 때 까지 귀기울여 듣다가 이벤트가 발생하면 설정한 메소드를 실행한다.
- <context-param> : 서로 다른 여러 Servlet에서도 공통으로 사용할 수 있는 파라미터를 설정한다.
- <servlet> : 등록하고자 하는 서블릿을 설정한다. <init-param>으로 해당 Servlet에서만 사용할 수 있는 파라미터를 설정한다.
- <filter> : Web Application 전반에 걸쳐 특정 URL이나 파일 요청 시 먼저 로딩되어 필터링한다.
- <session-config> : HttpSession 클래스의 공통적인 유효시간 설정이 가능하다.(분단위)
- <error-page> : 404, 500 등의 error-code 별 page설정이 가능하다.
- <welcome-file-list> : Web Application 요청 시 시작파일을 지정한다.
- <mime-type> : 특정 자원이 어떤 용도에 필요한지에 대한 부가정보를 제공한다(예:html확장자 파일 text/html매핑)
- <security-constraint> : 설정한 패턴으로 접근시 보안에 관련된 설정을 한다.(예:*.jsp 패턴 설정시 jsp 보안설정)
'프로그래밍 > Spring' 카테고리의 다른 글
Spring AOP 간단 개념정리 (0) | 2021.01.26 |
---|---|
web.xml 설정 시 ApplicationContext (0) | 2021.01.19 |
스프링 배치. 그리고 스케줄러, Quartz (0) | 2020.03.26 |
@Transactional / 트랜잭션 (0) | 2020.03.16 |
댓글