<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
		 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  metadata-complete="true">
	<display-name>egovframework.ebt</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>
	<!-- 템플릿 소스에서는 아래의 필터사용 대신 JSP 출력시 <c:out> 태그를 사용하는 것을 기본정책으로 한다  -->
	<!-- egovframework.rte.ptl.mvc.filter.HTMLTagFilter egovframework.com.cmm.filter.HTMLTagFilter-->
    
	<!-- <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>/web/*</url-pattern>
    </filter-mapping> -->
    
    <!-- security start -->
    
   <!-- <filter>
        <filter-name>XssFilter</filter-name>
        <filter-class>egovframework.com.cmm.filter.XssFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>XssFilter</filter-name>
        <url-pattern>/web/*</url-pattern>
    </filter-mapping> -->
    
    
    <filter>
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

	<!-- site mesh -->
	<filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>
        com.opensymphony.module.sitemesh.filter.PageFilter
    </filter-class>
	</filter>
	<filter-mapping>
	    <filter-name>sitemesh</filter-name>
	    <url-pattern>/*</url-pattern>
	    <!-- <dispatcher>INCLUDE</dispatcher>  
	    <dispatcher>REQUEST</dispatcher>     jsp에 대한 요청이 REQUEST,FORWARD 일때 sitemesh 필터를 실행한다.
        <dispatcher>FORWARD</dispatcher> -->
	</filter-mapping>
    <!--// site mesh -->
    
    <listener>
        <listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
    </listener>
   
	<!-- http  https redirect -->
	<!-- 로컬에선 주석 -->
	<!-- <security-constraint>
		<web-resource-collection>
			<web-resource-name>SSL Forward</web-resource-name>
			<url-pattern>/*</url-pattern>
		</web-resource-collection>
		<user-data-constraint>
			<transport-guarantee>CONFIDENTIAL</transport-guarantee>
		</user-data-constraint>
	</security-constraint> -->
    
    <!-- security end -->

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:egovframework/spring/com/context-*.xml</param-value>
    </context-param>
    
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <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/*.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</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>

    <session-config>
        <session-timeout>600</session-timeout>
    </session-config>

    <error-page>
        <exception-type>java.lang.Throwable</exception-type>
        <location>/common/errorLang.jsp</location>
    </error-page>
    <error-page>
        <error-code>400</error-code>
        <location>/common/error400.jsp</location>
    </error-page>
    <error-page>
        <error-code>401</error-code>
        <location>/common/error401.jsp</location>
    </error-page>
    <error-page>
        <error-code>403</error-code>
        <location>/common/error403.jsp</location>
    </error-page>
    <error-page>
        <error-code>404</error-code>
        <location>/common/error400.jsp</location>
    </error-page>
    <error-page>
        <error-code>405</error-code>
        <location>/common/error405.jsp</location>
    </error-page>
    <error-page>
        <error-code>408</error-code>
        <location>/common/error408.jsp</location>
    </error-page>
    <error-page>
        <error-code>500</error-code>
        <location>/common/error500.jsp</location>
    </error-page>
    <error-page>
        <error-code>501</error-code>
        <location>/common/error501.jsp</location>
    </error-page>
</web-app>
