반응형
스프링 4.x 버전에서
이중화 , 세션 시간설정 등 JavaConfig 로 해결 되지 않는 설정 사항 Xml 과 같이 사용하는 방법
import javax.servlet.FilterRegistration; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRegistration; import org.springframework.security.web.session.HttpSessionEventPublisher; import org.springframework.web.WebApplicationInitializer; import org.springframework.web.context.request.RequestContextListener; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; import org.springframework.web.filter.CharacterEncodingFilter; import org.springframework.web.filter.HiddenHttpMethodFilter; import org.springframework.web.servlet.DispatcherServlet; public class WebApplicationInitializerConfiguration implements WebApplicationInitializer { public void onStartup(ServletContext container) throws ServletException { AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); context.register(...class); context.setServletContext(container); container.addListener(new RequestContextListener()); container.addListener(new HttpSessionEventPublisher()); DispatcherServlet dispatcherServlet = new DispatcherServlet(context); dispatcherServlet.setDetectAllHandlerAdapters(true); dispatcherServlet.setDetectAllHandlerExceptionResolvers(true); dispatcherServlet.setDetectAllHandlerMappings(true); dispatcherServlet.setDetectAllViewResolvers(true); dispatcherServlet.setThrowExceptionIfNoHandlerFound(true); // Use XML Setting dispatcherServlet.setContextConfigLocation("/WEB-INF/web.xml"); ServletRegistration.Dynamic servlet = container.addServlet("dispatcher", dispatcherServlet); servlet.setLoadOnStartup(1); servlet.addMapping("/"); FilterRegistration.Dynamic encodingFilter = container.addFilter("encoding-filter", new CharacterEncodingFilter()); encodingFilter.setInitParameter("encoding", "UTF-8"); encodingFilter.setInitParameter("forceEncoding", "true"); encodingFilter.addMappingForUrlPatterns(null, true, "/*"); FilterRegistration.Dynamic hiddenMethodFilter = container.addFilter("hiddenHttpMethodFilter", new HiddenHttpMethodFilter()); hiddenMethodFilter.addMappingForUrlPatterns(null ,true, "/*"); }
DispatcherServlet 에 setContextConfigLocation 으로 XML을 로드 가능.
Xml 의 경우 필요한 부분만 작성 하면 됨.
300
반응형
'프로그래밍 > Spring' 카테고리의 다른 글
Eclipse Gradle JRE version set (0) | 2018.02.28 |
---|---|
Spring Project .gitignore (0) | 2018.01.31 |
Spring [JSTL, HTML tag] - BASE Tag 설정 (0) | 2014.11.20 |
Spring, JAVA - iText 페이지 사이즈 (0) | 2013.12.09 |
Spring 3.2.5 릴리즈 Change Log (0) | 2013.11.08 |