博客不知道大家在运行或者启动项目的时候是否遇到过使用Tomcat时页面被执行两次的问题。它可能已经发生,但你没有意识到。先看看是什么问题。问题演示这是一段jsp代码。说实话,这东西有点老了。如果你不懂jsp,请听我解释这段代码。我们定义一个全局变量i,i=0。我们定义一个无参数无返回值的方法voidadd(),它使用i++来添加自身。我们在下一句中称这个方法为add()。然后在页面输出i的值。我刚开始认为答案必须是1,它必须是1。但是,当我运行它时,我发现了。???其实是2?我什至怀疑是代码的问题……于是我在add()方法中输出日志。我发现不是将i更改为2,而是调用了两次add()方法!但是代码明明只调用了一次?我去浏览器搜索相关案例,发现有几个案例,哈哈哈,浏览器无所不能。经过一系列排查,发现Tomcat为你的项目跑了两次。为什么要运行两次?因为你的项目本来是放在Tomcat默认的webapp目录下的(tomcat启动的时候肯定会加载一次),然后在server.xml里面配置一下。再加载一次即可),结果Tomcat会加载两次。你可能没有把项目放在webapp目录下,但是你的IDEA工具已经给了你一个项目映射,将你的项目映射到webapp。也可以说,Tomcat启动时,先加载appBase配置的webapps目录下的item,然后再加载docBase配置的item,因为docBase的相对路径(/xxx)在webapps目录下,所以将被加载两次。总的来说,Tomcat的sever.xml的配置做了一个无用功,导致运行了两次。怎么解决?首先,我们有三种方法,我们一一说。首先记住这两个是什么:docBase是web应用和本地路径,path是Tomcat访问应用的URL路径。第一种方法:1、不要把hello应用放在Tomat默认的webapp目录下,将其移出,然后修改server.xml中docBase的值为项目所在位置的绝对路径。在Tomcat的conf目录下,在server.xml的
