我们在嵌入式模式下成功地使用了tomcat 7.0.19。不过最近由于我们关注的一些问题,我们决定迁移到tomcat 7.0.32。大多数情况下,预期使用相同的代码和更新的版本,但是由于某种原因,战争部署一直没有成功。我有几个servlet在我的tomcat上注册。面对以下2个问题,嵌入式Tomcat下的Web应用程序部署7.0.32
有事从嵌入的Tomcat行为从7.0.19更改为7.0.32。为了详细说明这一点,让我解释一下7.0.19的行为差异,我可以部署我的应用程序,当我点击“host:port/contextpath”时,它加载了应用程序的开始页面(即欢迎页面,这个页面是以UI为中心的,不需要服务器干预,所以我的servlet都不会被调用)。然而,在7.0.32中,相同的url会导致我的servlet被调用。因此,为了调试问题,我评论了大部分代码,以便我有一个香草tomcat实现,只是非常基本的东西,即设置引擎名称,默认主机,设置主机属性,添加连接器(nio ,具有默认属性)并部署战争。没有servlet和其他东西,只是为了检查非常基本的东西是否工作。令我惊讶的是,当我运行这段代码时,它仍然失败,出现了与我的servlet中的相同问题,这是怎么回事?现在我的代码被评论为没有注册任何servlet,它仍然从哪里找到它?嵌入式tomcat是否存储了一些旧的引用,这些引用在后续运行时没有被清除?我试图改变这个港口,但那也没有帮助。
我在这里碰壁,无法理解这种奇怪的行为,如果我弄明白#2,只有这样才能让我在#1取得了一些进展。
由于提前,
维克拉姆
您可以发布您的代码的相关部分?我会说如果不查看代码(web.xml和servlet)就不可能提供帮助。 – home
请尝试查明引入上述行为的实际版本。检查7.0.20和7.0.31之间的版本,使用二进制搜索方法没有太多的工作。 –