继承了ServletContextListener的监听器,在Tomcat等服务器启动的时候contextInitialized方法被执行了两次
其实不是contextInitialized方法被调用两次,是Tomcat被启动了两次(或者说放到Tomcat的webapps中的Web应用被启动了两次)
Myeclipse默认发布空间是tomcat下webapps,Tomcat启动时会解压并部署。然后在Tomcat的server.xml中配置了虚拟目录,让用户输入网站域名可以直接访问。
这样就在Tomcat下启动了两个项目系统。
解决方案:
把项目放到别的目录下面去,项目就不会启动两次。
如果使用编辑器Myeclipse发布项目,默认发布目录是webapps,那就修改下Myeclipse默认发布目录
过程如下:
开启项目的按钮,鼠标放上去会显示Run/Stop/Restart Myeclipse Servers,点击倒三角按钮,会出现一个Manager Deployments
点击进入Server Deployments。Server选择<Custom Location>,
点击Add进入New Deployment。Project>选择项目,Deploy location>选择发布地址,finish。
这样就设置好了,但是tomcat启动不了随意指定的目录,所有要配置一下项目地址
D:\cesi\ckljhs就是你发布的项目地址
这样contextInitialized方法就不会被调用两次了。
其实不是contextInitialized方法被调用两次,是Tomcat被启动了两次(或者说放到Tomcat的webapps中的Web应用被启动了两次)
Myeclipse默认发布空间是tomcat下webapps,Tomcat启动时会解压并部署。然后在Tomcat的server.xml中配置了虚拟目录,让用户输入网站域名可以直接访问。
这样就在Tomcat下启动了两个项目系统。
解决方案:
把项目放到别的目录下面去,项目就不会启动两次。
如果使用编辑器Myeclipse发布项目,默认发布目录是webapps,那就修改下Myeclipse默认发布目录
过程如下:
开启项目的按钮,鼠标放上去会显示Run/Stop/Restart Myeclipse Servers,点击倒三角按钮,会出现一个Manager Deployments
点击进入Server Deployments。Server选择<Custom Location>,
点击Add进入New Deployment。Project>选择项目,Deploy location>选择发布地址,finish。
这样就设置好了,但是tomcat启动不了随意指定的目录,所有要配置一下项目地址
打开tomcat的server.xml
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="D:\cesi\ckljhs" debug="0" privileged="true"> </Context>
</Host>
D:\cesi\ckljhs就是你发布的项目地址
这样contextInitialized方法就不会被调用两次了。