<?xml version="1.0" encoding="UTF-8"?>
|
<web-app
|
version="3.0"
|
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_3_0.xsd"
|
metadata-complete="true">
|
<context-param>
|
<param-name>webAppRootKey</param-name>
|
<param-value>smartlab</param-value>
|
</context-param>
|
|
<context-param>
|
<param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
|
<param-value>true</param-value>
|
</context-param>
|
|
<!--加载log4j配置文件-->
|
<context-param>
|
<param-name>log4jConfigLocation</param-name>
|
<param-value>/WEB-INF/log4j.properties</param-value>
|
</context-param>
|
<context-param>
|
<param-name>log4jRefreshInterval</param-name>
|
<param-value>60000</param-value>
|
</context-param>
|
<listener>
|
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
|
</listener>
|
|
<!--
|
The Bootstrap listener to start up and shut down Spring's root
|
WebApplicationContext. It is registered to Servlet Container
|
-->
|
<listener>
|
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
|
</listener>
|
<listener>
|
<listener-class>
|
org.springframework.web.context.request.RequestContextListener
|
</listener-class>
|
</listener>
|
<context-param>
|
<param-name>contextConfigLocation</param-name>
|
<param-value>/WEB-INF/spring-core.xml,/WEB-INF/spring-shiro.xml</param-value>
|
</context-param>
|
|
|
<servlet>
|
<servlet-name>Faces Servlet</servlet-name>
|
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
|
<load-on-startup>1</load-on-startup>
|
</servlet>
|
<servlet>
|
<servlet-name>MVC Servlet</servlet-name>
|
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
|
<init-param>
|
<param-name>contextConfigLocation</param-name>
|
<param-value>/WEB-INF/spring-mvc.xml</param-value>
|
</init-param>
|
<load-on-startup>2</load-on-startup>
|
</servlet>
|
|
|
<servlet-mapping>
|
<servlet-name>Faces Servlet</servlet-name>
|
<url-pattern>/faces/*</url-pattern>
|
</servlet-mapping>
|
<servlet-mapping>
|
<servlet-name>Faces Servlet</servlet-name>
|
<url-pattern>*.xhtml</url-pattern>
|
</servlet-mapping>
|
<servlet-mapping>
|
<servlet-name>MVC Servlet</servlet-name>
|
<url-pattern>/api/*</url-pattern>
|
</servlet-mapping>
|
|
<context-param>
|
<param-name>primefaces.THEME</param-name>
|
<param-value>bootstrap</param-value>
|
</context-param>
|
<welcome-file-list>
|
<welcome-file>login.xhtml</welcome-file>
|
</welcome-file-list>
|
<session-config>
|
<session-timeout>30</session-timeout>
|
</session-config>
|
|
<!-- apache-shiro 核心拦截器 -->
|
<filter>
|
<filter-name>shiroFilter</filter-name>
|
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
|
<init-param>
|
<param-name>targetFilterLifecycle</param-name>
|
<param-value>true</param-value>
|
</init-param>
|
</filter>
|
<filter-mapping>
|
<filter-name>shiroFilter</filter-name>
|
<url-pattern>/*</url-pattern>
|
</filter-mapping>
|
|
<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>
|
<init-param>
|
<param-name>forceEncoding</param-name>
|
<param-value>true</param-value>
|
</init-param>
|
</filter>
|
<filter-mapping>
|
<filter-name>encodingFilter</filter-name>
|
<url-pattern>/*</url-pattern>
|
</filter-mapping>
|
</web-app>
|