web.xml 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
  5. http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  6. version="4.0"
  7. metadata-complete="false">
  8. <!-- ========== 应用描述 ========== -->
  9. <display-name>Spring MVC Application</display-name>
  10. <!-- ========== 全局配置参数 ========== -->
  11. <!-- 指定 Spring 根配置文件的路径(ContextLoaderListener 使用) -->
  12. <context-param>
  13. <param-name>contextConfigLocation</param-name>
  14. <param-value>/WEB-INF/properties/applicationContext.xml</param-value>
  15. </context-param>
  16. <!-- Spring 配置文件支持占位符(例如使用 property-placeholder)时需要启用 -->
  17. <!-- <context-param>
  18. <param-name>spring.profiles.active</param-name>
  19. <param-value>dev</param-value>
  20. </context-param> -->
  21. <!-- /auth 下无 .do 时,容器内 forward 到 .do(Apusic 外部 GET 常需 *.do) -->
  22. <filter>
  23. <filter-name>callbackSuffixCompatFilter</filter-name>
  24. <filter-class>com.kingdee.eas.custom.integration.base.filter.CallbackSuffixCompatFilter</filter-class>
  25. </filter>
  26. <filter-mapping>
  27. <filter-name>callbackSuffixCompatFilter</filter-name>
  28. <url-pattern>/auth/*</url-pattern>
  29. </filter-mapping>
  30. <!-- ========== 编码过滤器(解决中文乱码) ========== -->
  31. <filter>
  32. <filter-name>characterEncodingFilter</filter-name>
  33. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  34. <init-param>
  35. <param-name>encoding</param-name>
  36. <param-value>UTF-8</param-value>
  37. </init-param>
  38. <init-param>
  39. <param-name>forceEncoding</param-name>
  40. <param-value>true</param-value>
  41. </init-param>
  42. </filter>
  43. <filter-mapping>
  44. <filter-name>characterEncodingFilter</filter-name>
  45. <url-pattern>/*</url-pattern>
  46. </filter-mapping>
  47. <!-- ========== 可选:HiddenHttpMethodFilter(支持 PUT/DELETE 请求) ========== -->
  48. <filter>
  49. <filter-name>hiddenHttpMethodFilter</filter-name>
  50. <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
  51. </filter>
  52. <filter-mapping>
  53. <filter-name>hiddenHttpMethodFilter</filter-name>
  54. <url-pattern>/*</url-pattern>
  55. </filter-mapping>
  56. <!-- 请求/响应体缓存 Filter,为 API 请求提供缓存支持 -->
  57. <filter>
  58. <filter-name>ContentCachingFilter</filter-name>
  59. <filter-class>com.kingdee.eas.custom.integration.base.filter.ContentCachingFilter</filter-class>
  60. </filter>
  61. <filter-mapping>
  62. <filter-name>ContentCachingFilter</filter-name>
  63. <url-pattern>/*</url-pattern>
  64. </filter-mapping>
  65. <!-- ========== Spring 根容器监听器(加载业务层 Bean) ========== -->
  66. <listener>
  67. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  68. </listener>
  69. <!-- ========== Spring MVC 前端控制器 ========== -->
  70. <servlet>
  71. <servlet-name>MVCServlet</servlet-name>
  72. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  73. <!-- 指定 Spring MVC 配置文件的位置(如果不指定,默认找 /WEB-INF/dispatcher-servlet.xml) -->
  74. <init-param>
  75. <param-name>contextConfigLocation</param-name>
  76. <param-value>/WEB-INF/properties/applicationContext.xml</param-value>
  77. </init-param>
  78. <load-on-startup>1</load-on-startup>
  79. </servlet>
  80. <servlet-mapping>
  81. <servlet-name>MVCServlet</servlet-name>
  82. <!-- Apusic 外部 GET 常走 *.do;Filter 将无 .do 的 OAuth 回调 forward 到 .do -->
  83. <url-pattern>*.do</url-pattern>
  84. </servlet-mapping>
  85. <servlet-mapping>
  86. <servlet-name>MVCServlet</servlet-name>
  87. <!-- 内部 forward(/auth/app -> /auth/weaver)及 Filter forward 后的兜底 -->
  88. <url-pattern>/</url-pattern>
  89. </servlet-mapping>
  90. <!-- ========== Session 超时配置(单位:分钟) ========== -->
  91. <session-config>
  92. <session-timeout>30</session-timeout>
  93. </session-config>
  94. <!-- ========== 欢迎页面列表 ========== -->
  95. <welcome-file-list>
  96. <welcome-file>index.html</welcome-file>
  97. </welcome-file-list>
  98. <!-- ========== 错误页面配置(可选) ========== -->
  99. <!-- 500错误页面 -->
  100. <error-page>
  101. <error-code>500</error-code>
  102. <location>/views/500.jsp</location>
  103. </error-page>
  104. <!-- 404错误页面 -->
  105. <error-page>
  106. <error-code>404</error-code>
  107. <location>/views/404.jsp</location>
  108. </error-page>
  109. <!-- ========== 静态资源处理(如果不使用 mvc:resources,可让容器默认 Servlet 处理) ========== -->
  110. <!-- 以下配置可以让 Tomcat 的 default servlet 处理静态资源,通常配合 DispatcherServlet 的 url-pattern 为 / 时使用 -->
  111. <!-- <servlet-mapping>
  112. <servlet-name>default</servlet-name>
  113. <url-pattern>*.css</url-pattern>
  114. <url-pattern>*.js</url-pattern>
  115. <url-pattern>*.png</url-pattern>
  116. <url-pattern>*.jsp</url-pattern>
  117. <url-pattern>*.html</url-pattern>
  118. <url-pattern>*.jpg</url-pattern>
  119. <url-pattern>*.gif</url-pattern>
  120. <url-pattern>*.ico</url-pattern>
  121. <url-pattern>*.woff</url-pattern>
  122. <url-pattern>*.woff2</url-pattern>
  123. <url-pattern>*.ttf</url-pattern>
  124. </servlet-mapping> -->
  125. </web-app>