最近才发现的问题,想要使用tomcat7内置版,最好是按照这样创建web模块:
即在创建maven项目的时候直接选择webapp模块,注意啊重点来了,这样创建的的模块中webapp目录是和java、resource同一目录的,都是main目录的子目录。这样的结构在tomcat7内置版使用的时候能正常运行(前提是你的代码没问题,和排除极少数的依赖冲突)。
但是如果你有这样创建目录的习惯:
即先不用原型创建maven项目,然后再添加WEB模块,这样创建的模块,web目录是和src同级的
而不是在main目录下,这样结构的web模块会在使用内置的tomcat7时出现404问题,目前我不知道为什么会导致出现这样,但是可以看到每次导入(不是运行时,只要导入插件依赖就会出现这样的问题)内置的tomcat7运行完一次这种目录结构的web模块,web目录会被莫名其妙的取消掉web标记了(就是没有中心的蓝点了),就像下图一样:
而且出现这样的情况后,还不能再添加web标记(就好像有web标记但是添加不了)再使用自己下载的tomcat运行也不能正常运行了,也会404,如果出现这种情况,目前尚未解决。