web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp" xmlns:web="http://java.sun.com/xml/ns/javaee" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>kard</display-name>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter>
<filter-name>HTMLTagFilter</filter-name>
<filter-class>egovframework.rte.ptl.mvc.filter.HTMLTagFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HTMLTagFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:egovframework/spring/context-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>kr.re.kisti.kard.comm.ContextListener</listener-class>
</listener>
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<page-encoding>UTF-8</page-encoding>
<scripting-invalid>false</scripting-invalid>
<include-prelude>/WEB-INF/jsp/kisti/comm/cmmn.jsp</include-prelude>
</jsp-property-group>
</jsp-config>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/egovframework/springmvc/dispatcher-*.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.json</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.jsonp</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/common/error.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/common/Error404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/common/Error500.jsp</location>
</error-page>
</web-app>
dispatcher-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd">
<context:component-scan base-package="kr.re.kisti;egovframework">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
</context:component-scan>
<!-- request mapping handler -->
<bean class="egovframework.rte.ptl.mvc.bind.annotation.EgovRequestMappingHandlerAdapter">
<property name="customArgumentResolvers">
<list>
<bean class="egovframework.rte.ptl.mvc.bind.AnnotationCommandMapArgumentResolver" />
</list>
</property>
</bean>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="webBindingInitializer">
<bean class="egovframework.example.cmmn.web.EgovBindingInitializer"/>
</property>
</bean>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
<property name="interceptors">
<list>
<ref bean="localeChangeInterceptor" />
</list>
</property>
</bean>
<!-- siyon add 20161008 start -->
<!-- 건들지 마세요~~!!! -->
<mvc:interceptors>
<!-- <bean class="kr.re.kisti.kard.comm.interceptor.IpObtainInterceptor" /> -->
<mvc:interceptor>
<mvc:mapping path="/**/*.do" />
<mvc:exclude-mapping path="/**/*.json" />
<mvc:exclude-mapping path="/main/**" />
<mvc:exclude-mapping path="/mber/**" />
<mvc:exclude-mapping path="/comm/comm101P.do" />
<mvc:exclude-mapping path="/comm/comm102P.do" />
<mvc:exclude-mapping path="/comm/comm109P.do" />
<mvc:exclude-mapping path="/comm/selectMsHorgList.do" />
<mvc:exclude-mapping path="/comm/fileDownload.do" />
<mvc:exclude-mapping path="/comm/registEmail.do" />
<mvc:exclude-mapping path="/comm/getAddrApi.do" />
<mvc:exclude-mapping path="/comm/downloadP.do" />
<mvc:exclude-mapping path="/rsch/popup/directPubDetail.do" />
<mvc:exclude-mapping path="/mylb/docViewReq.do" />
<!-- <mvc:exclude-mapping path="/rsch/**" /> -->
<!-- <mvc:exclude-mapping path="/mylb/**" /> -->
<!-- <mvc:exclude-mapping path="/jrnl/**" /> -->
<!-- <mvc:exclude-mapping path="/topc/**" /> -->
<!-- <mvc:exclude-mapping path="/srch/**" /> -->
<!-- <mvc:exclude-mapping path="/inst/**" /> -->
<!-- <mvc:exclude-mapping path="/comm/**" /> -->
<bean class="kr.re.kisti.kard.comm.interceptor.AuthenticInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
<!-- siyon add 20161008 start -->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver">
<property name="order" value="1" />
</bean>
<!-- 쿠키를 이용한 Locale 이용시 <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/> -->
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="language" />
</bean>
<!-- 파일 다운로드를 위한 리졸버 -->
<bean id="fileDownloadView" class="kr.re.kisti.kard.comm.service.FileDownloadView" />
<bean id="fileViewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver">
<property name="order" value="0" />
</bean>
<!-- return type json 형태로 하기 위한 선언 -->
<bean name="ajaxMainView" class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="defaultErrorView" value="cmmn/egovError"/>
<property name="exceptionMappings">
<props>
<prop key="org.springframework.dao.DataAccessException">cmmn/dataAccessFailure</prop>
<prop key="org.springframework.transaction.TransactionException">cmmn/transactionFailure</prop>
<prop key="egovframework.rte.fdl.cmmn.exception.EgovBizException">cmmn/egovError</prop>
<prop key="org.springframework.security.AccessDeniedException">cmmn/egovError</prop>
</props>
</property>
</bean>
<!-- view resolver -->
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="order" value="1" />
<property name="mediaTypes">
<map>
<entry key="do" value="text/html" />
<entry key="json" value="application/json" />
<entry key="jsonp" value="javascript/jsonp" />
</map>
</property>
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/kisti/" />
<property name="suffix" value=".jsp" />
<property name="order" value="1" />
</bean>
</list>
</property>
<!--위의 viewResolvers 에 의해 view를 얻지 못했을 경우에 사용되는 view 커스텀 뷰를 통한 json 응답 설정으로 MessageConverter 및 @ResponseBody를 사용하지 않아도 된다.-->
<property name="defaultViews">
<list>
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
<bean class="kr.re.kisti.kard.comm.JSONPView" >
<property name="contentType" value="javascript/jsonp"></property>
</bean>
</list>
</property>
</bean>
<!-- For Pagination Tag -->
<bean id="imageRenderer" class="kr.re.kisti.kard.comm.CommonImgPaginationRenderer"/>
<bean id="paginationManager" class="egovframework.rte.ptl.mvc.tags.ui.pagination.DefaultPaginationManager">
<property name="rendererType">
<map>
<entry key="image" value-ref="imageRenderer"/>
</map>
</property>
</bean>
<!-- /For Pagination Tag -->
<!-- File Upload -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"/>
<property name="maxUploadSize" value="209715200"/>
</bean>
<mvc:view-controller path="/cmmn/validator.do" view-name="cmmn/validator"/>
<!-- 20170621 restful 관련 mapping 추가 -->
<mvc:resources mapping="/css/**" location="/css/" />
<mvc:resources mapping="/html/**" location="/html/" />
<mvc:resources mapping="/images/**" location="/images/" />
<mvc:resources mapping="/js/**" location="/js/" />
<!-- 20170621 restful 관련 mapping 추가 -->
</beans>
'develop > spring' 카테고리의 다른 글
spring property 사용 (0) | 2016.03.25 |
---|---|
프로젝트 설정 - web.xml (0) | 2016.03.25 |