如下web.xml示例:

1.用spring的配置加载contextConfigLocation

2.配置spring-mvc的contextConfigLocation

<servlet>
<servlet-name>spring-mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-*.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping> <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-*.xml</param-value>
</context-param>

看了配置,spring下面的文件在springmvc中加载了一次,在context中又加载了一次。

从启动日志和启动时长可以看到。 补充:重复加载还会导致配置的task,schadule任务重复执行!

所以,合理的做法是,把spring-mvc的定义单独摘出来定义在web容器启动的时候加载,名称也换成servlet-mvc.xml避免被spring重复加载, 而在spring的core xml定义中,不要出现mvc的东东

<servlet>
<servlet-name>spring-mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--查找controller位置的xml文件配置 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<!--查找这里可以配置多个,用逗号分割或者用通配符*也就是第二行 -->
<param-value>/WEB-INF/classes/servlet-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>

springmvc的xml单独配置出来,spring本身管spring的,springmvc管springmvc的,这样就ok了

总结:该分开配置的不要合在一起。注意代码使用

最新文章

  1. 在JS中关于堆与栈的认识function abc(a){ a=100; } function abc2(arr){ arr[0]=0; }
  2. 算术表达式解析(第二版) C++11版
  3. SpringSide 部署showcase项目出现 JAX-RS (REST Web Services) 2.0 can not be installed错误!
  4. Java的整个字符串的结束索引在最后一个字符之外
  5. 巧用开发者工具的控制台来调试页面中的js语句
  6. Nginx开启Gzip压缩大幅提高页面加载速度
  7. poj 1062(有限制的最短路)
  8. lintcode:打劫房屋II
  9. batchExportPNG.py不是我的代码
  10. Android 用Activity的onTouchEvent来监听滑动手势
  11. SULogger:iOS日志可视化工具
  12. thinkphp3.2.3 成功对接支付宝接口
  13. CDZSC_2015寒假新人(2)——数学 C
  14. Eclipse用法和技巧十四:自动生成的TODO注释2
  15. ZOJ 1584:Sunny Cup 2003 - Preliminary Round(最小生成树&amp;amp;&amp;amp;prim)
  16. JVM的参数详解(转)
  17. 6.跑步者--并行编程框架 ForkJoin
  18. Power Spectral Density
  19. 前端-JavaScript1-5——JavaScript之变量的类型
  20. Android APK反编译详解(附图) (转)

热门文章

  1. jQuery获取各种input输入框的值
  2. SVN检出忽略文件夹文件
  3. 各类型转换成byte[] 和HexString
  4. 在IIS上部署Asp.Net Core 2.2.0
  5. MySQL数据库(四)
  6. python学习之路 三:字符编码
  7. 网易严选的wkwebview测试之路
  8. [Perl]通过GD模块获取字符/汉字的点阵
  9. 【Selenium专题】WebDriver启动firefox浏览器
  10. BZOJ1901 Dynamic Rankings|带修主席树