Tomcat中ServletContextListener监听器重复执行的有关问题,Myeclipse指定发布地址

继承了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启动不了随意指定的目录,所有要配置一下项目地址

打开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方法就不会被调用两次了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值