반응형
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="<https://Java.sun.com/xml/ns/javaee>"
xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>"
xsi:schemaLocation="<http://java.sun.com/xml/ns/javaee> <https://java.sun.com/xml/ns/javaee/web-app_2_5.xsd>">
<!-- => WAS 프로그램이 실행될 때 "자동으로 읽어" 필요한 설정에 맞게 동작됨 -->
<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
<!-- context-param : 모든 웹프로그램 실행에 필요한 값을 제공하기 위한 엘리먼트 -->
<!-- => contextConfigLocation 이름으로 스프링 컨테이너(WebApplocationContext 객체)에게
Spring Bean Configuration File의 경로를 제공 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- 모든 웹프로그램에서 사용할 수 있는 Spring Bean를 등록하기 위한 Spring Bean Configuration File -->
<!-- => 모든 Front Controller 역활을 하는 웹프로그램에게 필요한 객체를 제공하기 위해 Spring Bean으로 등록 -->
<param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<!-- listener : WAS 프로그램이 시작될 때 Listener 클래스를 제공받아 객체로 생성하기 위한 엘리먼트 -->
<!-- Listener 클래스 : ServletContextListener 인터페이스를 상속받은 자식클래스 -->
<!-- => contextInitialized 메소드 : Listener 객체 생성 후 자동 호출되는 메소드 - 초기화 작업 -->
<!-- => contextDestroyed 메소드 : Listener 객체 소멸 전 자동 호출되는 메소드 - 마무리 작업 -->
<listener>
<!-- listener-class : ServletContextListener 인터페이스를 상속받은 자식클래스를 설정하기 위한 엘리먼트 -->
<!-- => WAS 프로그램이 시작될 때 ContextLoaderListener 클래스를 객체로 생성하고 contextInitialized 메소드를 호출하여 초기화 작업 -->
<!-- ContextLoaderListener 클래스의 contextInitialized 메소드에서 스프링 컨테이너(Spring Container)를 생성하고 Spring Bean Configuration File을 제공받아 Spring Bean으로 등록된 클래스를 객체로 생성 -->
<!-- Listener 객체의 메소드에 의해 생성된 스프링 컨테이너(WebApplicationContext 객체)는
모든 웹자원(서블릿 및 필터)에게 공유되어 사용 가능 - Spring Bean 제공 -->
<!-- => WebApplicationContext 객체는 기본적으로 src/main/webapp 폴더의 Spring Bean
Configuration File 파일만 제공받아 처리 가능 -->
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
- filter 클래스
<!-- filter : 필터 클래스를 필터(Filter)로 등록하기 위한 엘리먼트 -->
<filter>
<!-- filter-name : 필터를 구분하기 위한 식별자를 설정하기 위한 엘리먼트 -->
<filter-name>encodingFilter</filter-name>
<!-- filter-class : 클라이언트 요청에 의해 객체로 생성되어 실행될 필터 클래스을 설정하기 위한 엘리먼트 -->
<!-- CharacterEncodingFilter : 리퀘스트 메세지 몸체부의 저장된 값에 대한 문자형태를 변경하기 위한 필터 클래스 -->
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<!-- init-param 엘리먼트를 사용하여 CharacterEncodingFilter 클래스에 의해 변경하고자
하는 문자형태(캐릭터셋)을 제공 -->
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<!-- filter-mapping : 필터가 실행되기 위한 웹프로그램의 요청 URL 주소의 패턴을 등록하기 위한 엘리먼트 -->
<filter-mapping>
<!-- filter-name : 클라이언트 요청에 의해 실행될 필터의 식별자를 설정하기 위한 엘리먼트 -->
<filter-name>encodingFilter</filter-name>
<!-- url-pattern : 필터가 실행되기 위한 웹프로그램의 요청 URL 주소의 패턴을 설정하기 위한 엘리먼트 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
- servlet 클래스
<!-- Processes application requests -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- 스프링 어노테이션을 검색하는 component-sace 엘리먼트를 사용한 Spring Bean
Configuration File은 하나만 제공 가능 -->
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<!-- url-pattern 엘리먼트의 내용을 [/]로 설정한 경우 클라이언트의 모든 웹프로그램
요청에 대한 처리가 가능하도록 설정 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
반응형
'framework > spring mvc 웹사이트제작법' 카테고리의 다른 글
[springMVC웹] 6. 스프링빈 환경설정파일 - servlet-context.xml (0) | 2024.08.05 |
---|---|
[springMVC웹] 5. DAO 클래스 작성에 필요한 클래스를 Spring Bean으로 등록 - root-context.xml (0) | 2024.08.05 |
[springMVC웹] 3. 메이븐 라이브러리 환경설정파일 - pom.xml (0) | 2024.08.05 |
[springMVC웹] 2. 스프링MVC 프로젝트 생성법 (0) | 2024.08.05 |
[springMVC웹] 1. 스프링 프레임워크에서 웹프로그램 만드는 큰 흐름 (0) | 2024.08.05 |