背景:一个tomcat,一个eclipse,一个SSM框架的web项目。在eclipse中新建tomcat服务器,默认配置,然后在服务器配置中将Server Locations改成Use Tomcat installation并且将Deploy path换成tomcat安装目录下的webapps

现象: 将web项目部署到背景中的tomcat服务器中,运行项目。然后在eclipse的控制台中就会发现spring配置被执行了两次。如果想看到明显的现象,可以在项目中添加一个自启动的bean,并在自启动方法中向控制台打印信息。那么你将看到这些信息被打印了两次。也就是说,spring的bean被初始化两次。

解决方法:
方式一:将服务器配置中Deploy path路径webapps换一个名称,比如wtpwebapps
方式二:勾选Server Options中的Publish module contexts to separate XML files

原因: web项目启动时,由于

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

中的appBase中的值为webapps,tomcat加载到这里的时候,会去webapps文件夹下查找项目,并启动找到的项目,然后tomcat发现了webapps下刚好有一个部署的项目(Deploy path设置什么目录,项目就会部署到什么目录),所以这是第一次启动。接着,tomcat继续加载配置,然后就找到了

<Context docBase="projectName" path="projectPath" reloadable="true" source="org.eclipse.jst.jee.server:ssm-config"/>

于是,tomcat根据这个配置又加载了一次项目,这是第二次加载项目,所以在控制台可以看到两次初始化spring。

【问题记录】eclipse启动web项目时,spring会初始化两次的更多相关文章

  1. 使用Eclipse创建Web项目时WEB-INF下找不到web.xml问题详解

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/yjrguxing/article/deta ...

  2. IntelliJ IDEA启动web项目时突然变慢的原因

    在使用IntelliJ IDEA开发web项目过程中,有两次项目启动非常慢,大约要200s的时间: 第一次忘记是怎么解决的,第二次出现后,我就直接重新下载了代码,然后部署,启动,时间有恢复正常,只用了 ...

  3. Eclipse使用Maven tomcat:run命令启动web项目时修改默认端口

  4. eclipse 导入web项目时常见错误

    1. JavaWeb:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java B ...

  5. Eclipse启动Web项目 Tomcat中webapps中没有项目文件夹

    原文出处:https://blog.csdn.net/JYH1314/article/details/51656233 1.eclipse不像MyEclipse默认将项目部署到tomcat安装目录下的 ...

  6. eclipse创建web项目web.xml配置文件笔记

    1.使用eclipse创建web项目时,如果直接finish的话就没有默认生成web.xml配置文件,此时在你的项目下是看不到web.xml配置文件的,如果要查看的话可以如下操作: 右键你的项目,然后 ...

  7. Eclipse中发布Maven管理的Web项目时找不到类的问题根源和解决办法(转)

    转自:http://blog.csdn.net/lvguanming/article/details/37812579?locationNum=12 写在前面的话 现在是越来越太原讨厌Eclipse这 ...

  8. Eclipse使用Maven tomcat:run命令启动web项目

    Eclipse安装好m2e插件,使用Maven构建项目后,启动web项目就行就非常简单了,你不再需要下载然后在eclipse中配置tomcat. 右键你的项目 -> Run As -> R ...

  9. eclipse 创建 maven 项目时如何修改 web 的版本和 jdk 的版本

    eclipse 创建 maven 项目时如何修改 web 的版本和 jdk 的版本 在使用 eclipse 创建 maven 项目的时候,默认的 web.xml 的版本时 2.3,默认 jre 的版本 ...

随机推荐

  1. 使用ASP.Net WebAPI构建REST服务(七)——调试工具

    由于WebAPI本身是基于HTTP协议的,在开发过程中,我们可以使用浏览器或Fiddler等HTTP工具辅助开发.与此同时,微软也提供了一些工具方便我们调试,使得开发更加简单快捷,本文就简单的介绍一下 ...

  2. SQLServer组成:

    SQL Server DB Engine (Relational Engine),SQL语言用于向Engine描述问题. Algebrizer:代数器,检查语法,并将查询转换成内部表达式 Query ...

  3. 对list_entry(ptr, type, member)的理解

    如何根据一个结构体成员的地址.结构体类型以及该结构体成员名获得该结构体的首地址? #define list_entry(ptr, type, member) \ ((type *)((char *)( ...

  4. zk删除node模式

    检查状态 状态描述指定的znode的元数据.它包含时间戳,版本号,ACL,数据长度和子znode等细项. 语法 stat /path 示例 stat /FirstZnode 输出 [zk: local ...

  5. iOS:APNS推送主要代码

    首先,在AppDelegate.m 中: 1,注册通知 //[objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片 - (BOOL)application:(UI ...

  6. DELPHI MAKEWORD的用法

    WORD MAKEWORD(    BYTE bLow,  // low-order byte of short value    BYTE bHigh  // high-order byte of ...

  7. scrapy-splash抓取动态数据例子十五

    一.介绍 本例子用scrapy-splash爬取电视之家(http://www.tvhome.com/news/)网站的资讯信息,输入给定关键字抓取微信资讯信息. 给定关键字:数字:融合:电视 抓取信 ...

  8. Spark Streaming从Flume Poll数据案例实战和内幕源码解密

    本节课分成二部分讲解: 一.Spark Streaming on Polling from Flume实战 二.Spark Streaming on Polling from Flume源码 第一部分 ...

  9. jsp 页面图片为圆形

    直接设置img标签的style属性即可 <img alt="" src="链接地址" style="width: 80px;height: 80 ...

  10. proto3 中的 map 类型

    .proto syntax = "proto3"; option optimize_for = SPEED; message TestStruct { map<int32,s ...