web.xml 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  4. <display-name>pentair-rfq</display-name>
  5. <!-- Spring ApplicationContext配置文件的路径,可使用通配符,多个路径用,号分隔
  6. 此参数用于后面的Spring Context Loader -->
  7. <context-param>
  8. <param-name>contextConfigLocation</param-name>
  9. <param-value>
  10. classpath*:/applicationContext.xml
  11. classpath*:/applicationContext-pentair.xml
  12. </param-value>
  13. </context-param>
  14. <!-- CXF Servlet 配置,Web Services -->
  15. <servlet>
  16. <servlet-name>CXFServlet</servlet-name>
  17. <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
  18. </servlet>
  19. <servlet-mapping>
  20. <servlet-name>CXFServlet</servlet-name>
  21. <url-pattern>/services/*</url-pattern>
  22. </servlet-mapping>
  23. <!-- Jersey Servlet 配置,Web Services -->
  24. <servlet>
  25. <servlet-name>JerseyServlet</servlet-name>
  26. <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
  27. </servlet>
  28. <servlet-mapping>
  29. <servlet-name>JerseyServlet</servlet-name>
  30. <url-pattern>/rs/*</url-pattern>
  31. </servlet-mapping>
  32. <!-- Content Servlet 配置 -->
  33. <servlet>
  34. <servlet-name>StaticContentServlet</servlet-name>
  35. <servlet-class>com.pentair.showcase.web.StaticContentServlet</servlet-class>
  36. </servlet>
  37. <servlet>
  38. <servlet-name>RemoteContentServlet</servlet-name>
  39. <servlet-class>com.pentair.showcase.web.RemoteContentServlet</servlet-class>
  40. </servlet>
  41. <servlet-mapping>
  42. <servlet-name>StaticContentServlet</servlet-name>
  43. <url-pattern>/static-content</url-pattern>
  44. </servlet-mapping>
  45. <servlet-mapping>
  46. <servlet-name>RemoteContentServlet</servlet-name>
  47. <url-pattern>/remote-content</url-pattern>
  48. </servlet-mapping>
  49. <!-- Filter 定义 -->
  50. <!-- Character Encoding filter -->
  51. <filter>
  52. <filter-name>encodingFilter</filter-name>
  53. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  54. <init-param>
  55. <param-name>encoding</param-name>
  56. <param-value>UTF-8</param-value>
  57. </init-param>
  58. <init-param>
  59. <param-name>forceEncoding</param-name>
  60. <param-value>true</param-value>
  61. </init-param>
  62. </filter>
  63. <!-- Hibernate Open Session In View filter-->
  64. <filter>
  65. <filter-name>hibernateOpenSessionInViewFilter</filter-name>
  66. <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
  67. </filter>
  68. <!-- SpringSide's JCaptcha filter,验证码 -->
  69. <filter>
  70. <filter-name>jcaptchaFilter</filter-name>
  71. <filter-class>org.springside.modules.security.jcaptcha.JCaptchaFilter</filter-class>
  72. <init-param>
  73. <param-name>failureUrl</param-name>
  74. <param-value>/login.action?error=2</param-value>
  75. </init-param>
  76. <!-- 用于功能测试的设置54321自动通过验证码校验,在生产环境部署时移除该参数或将值设为invalid -->
  77. <init-param>
  78. <param-name>autoPassValue</param-name>
  79. <param-value>54321</param-value>
  80. </init-param>
  81. </filter>
  82. <!-- SpringSecurity filter-->
  83. <filter>
  84. <filter-name>springSecurityFilterChain</filter-name>
  85. <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
  86. </filter>
  87. <!-- UrlRewrite filter -->
  88. <filter>
  89. <filter-name>urlRewriteFilter</filter-name>
  90. <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
  91. </filter>
  92. <!-- Struts2 filter -->
  93. <filter>
  94. <filter-name>struts2CleanupFilter</filter-name>
  95. <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
  96. </filter>
  97. <filter>
  98. <filter-name>struts2Filter</filter-name>
  99. <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  100. </filter>
  101. <!-- Cache Control Header Filter -->
  102. <filter>
  103. <filter-name>cacheControlHeaderFilter</filter-name>
  104. <filter-class>com.pentair.showcase.web.CacheControlHeaderFilter</filter-class>
  105. </filter>
  106. <!-- Filter 映射 -->
  107. <filter-mapping>
  108. <filter-name>encodingFilter</filter-name>
  109. <url-pattern>/*</url-pattern>
  110. <dispatcher>REQUEST</dispatcher>
  111. <dispatcher>FORWARD</dispatcher>
  112. </filter-mapping>
  113. <filter-mapping>
  114. <filter-name>hibernateOpenSessionInViewFilter</filter-name>
  115. <url-pattern>*.action</url-pattern>
  116. <dispatcher>REQUEST</dispatcher>
  117. <dispatcher>FORWARD</dispatcher>
  118. </filter-mapping>
  119. <filter-mapping>
  120. <filter-name>hibernateOpenSessionInViewFilter</filter-name>
  121. <url-pattern>/common/*</url-pattern>
  122. <dispatcher>REQUEST</dispatcher>
  123. <dispatcher>FORWARD</dispatcher>
  124. </filter-mapping>
  125. <filter-mapping>
  126. <filter-name>hibernateOpenSessionInViewFilter</filter-name>
  127. <url-pattern>/</url-pattern>
  128. </filter-mapping>
  129. <filter-mapping>
  130. <filter-name>hibernateOpenSessionInViewFilter</filter-name>
  131. <url-pattern>/j_spring_security_check</url-pattern>
  132. </filter-mapping>
  133. <!-- jcaptcha图片生成URL. -->
  134. <filter-mapping>
  135. <filter-name>jcaptchaFilter</filter-name>
  136. <url-pattern>/security/jcaptcha.jpg</url-pattern>
  137. </filter-mapping>
  138. <!-- jcaptcha登录表单处理URL.
  139. 必须放在springSecurityFilter的filter-mapping定义之前 -->
  140. <filter-mapping>
  141. <filter-name>jcaptchaFilter</filter-name>
  142. <url-pattern>/j_spring_security_check</url-pattern>
  143. </filter-mapping>
  144. <filter-mapping>
  145. <filter-name>springSecurityFilterChain</filter-name>
  146. <url-pattern>/*</url-pattern>
  147. <dispatcher>REQUEST</dispatcher>
  148. <dispatcher>FORWARD</dispatcher>
  149. </filter-mapping>
  150. <filter-mapping>
  151. <filter-name>urlRewriteFilter</filter-name>
  152. <url-pattern>/*</url-pattern>
  153. <dispatcher>REQUEST</dispatcher>
  154. <dispatcher>FORWARD</dispatcher>
  155. </filter-mapping>
  156. <filter-mapping>
  157. <filter-name>struts2CleanupFilter</filter-name>
  158. <url-pattern>*.action</url-pattern>
  159. <dispatcher>REQUEST</dispatcher>
  160. <dispatcher>FORWARD</dispatcher>
  161. </filter-mapping>
  162. <filter-mapping>
  163. <filter-name>struts2Filter</filter-name>
  164. <url-pattern>*.action</url-pattern>
  165. <dispatcher>REQUEST</dispatcher>
  166. <dispatcher>FORWARD</dispatcher>
  167. </filter-mapping>
  168. <filter-mapping>
  169. <filter-name>cacheControlHeaderFilter</filter-name>
  170. <url-pattern>/img/*</url-pattern>
  171. </filter-mapping>
  172. <filter-mapping>
  173. <filter-name>cacheControlHeaderFilter</filter-name>
  174. <url-pattern>/css/*</url-pattern>
  175. </filter-mapping>
  176. <filter-mapping>
  177. <filter-name>cacheControlHeaderFilter</filter-name>
  178. <url-pattern>/js/*</url-pattern>
  179. </filter-mapping>
  180. <!--Spring ApplicationContext 载入 -->
  181. <listener>
  182. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  183. </listener>
  184. <!-- Spring 刷新Introspector防止内存泄露 -->
  185. <listener>
  186. <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
  187. </listener>
  188. <!-- SpringSecuirty 控制并发Session -->
  189. <listener>
  190. <listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
  191. </listener>
  192. <!-- session超时定义,单位为分钟 -->
  193. <session-config>
  194. <session-timeout>60</session-timeout>
  195. </session-config>
  196. <!-- 出错页面定义 -->
  197. <error-page>
  198. <exception-type>java.lang.Exception</exception-type>
  199. <location>/common/error.jsp</location>
  200. </error-page>
  201. <error-page>
  202. <exception-type>java.lang.NullPointerException</exception-type>
  203. <location>/common/error.jsp</location>
  204. </error-page>
  205. <error-page>
  206. <exception-type>java.lang.Throwable</exception-type>
  207. <location>/common/error.jsp</location>
  208. </error-page>
  209. <error-page>
  210. <error-code>500</error-code>
  211. <location>/common/error.jsp</location>
  212. </error-page>
  213. </web-app>