기억하기 프로젝트
[Spring] web.xml 파일 및 ApplicationContext에 대하여 본문
Spring web.xml파일 알아보기
독립 웹 모듈로 만들어진 스프링 어플리케이션에 application context는 2개가 들어간다.
하나는 ContextLoaderListener에 의해서 만들어지는 Root WebApplicationContext,
다른 하나는 DispatcherServlet에 의해서 만들어지는 WebApplicationContext이다.
1. Root WebApplicationContext
이름 그대로 최상단에 위치한 Context로
1)서비스 계층이나 DAO를 포함한, 웹 환경에 독립적인 빈들을 담아둔다.
2)서로 다른 서블릿컨텍스트에서 공유해야 하는 빈들을 등록해놓고 사용할 수 있다.
3)Servlet context에 등록된 빈들을 이용 불가능하고
servlet context와 공통된 빈이 있다면 servlet context 빈이 우선된다.
4)WebApplication 전체에 사용가능한 DB연결, 로깅 기능들이 이용된다.
2. WebApplicationContext
서블릿에서만 이용되는 Context로
1)DispatcherServlet이 직접 사용하는 컨트롤러를 포함한 웹 관련 빈을 등록하는 데 사용한다.
2)DispatcherServlet은 독자적인 WebApplicationContext를 가지고 있고, 모두 동일한 Root WebApplicationContext를 공유한다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- The definition of the Root Spring Container shared by all Servlets
and Filters -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext.xml
</param-value>
</context-param>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 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>
<param-value>classpath:servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
2013/09/24 10:11 작성
'개발이야기 > Spring' 카테고리의 다른 글
[Spring] POJO란 (0) | 2014.09.21 |
---|---|
[Spring] @Autowired , @Resource 어노테이션 차이 (0) | 2014.09.21 |