其实应该很多人都遇到过这个问题。
主要的问题原因为:
1、web.xml配置 servlet有问题。
2、Jar包版本不对或有缺少。
3、war打包的配置不对。
我直接上图解释下 IDEA每个地方的配置方法。
主要是想说下 facets和Artifacts的配置还有tomcat的配置。
下图是Facets的配置:
PATH的路径一定得是你项目中web.xml的路径。
注意:如果PATH这里配错的话,它会给你的项目自己创建一个对应目录的web.xml文件,导致很多人这里没有发现一直404.
Web Resource Diectory的路径顾名思义,web资源的路径,直接把PATH路径复制过来删掉\WEB-INF\web.xml即可。
下面是Artifacts的配置:
这里的配置主要目的是告诉IDEA要将项目打成war包,并把哪些东西打进war包。
这里点击左上的+号,选择web Application:Exploded-----From Modules,然后按照图中红色的要求做就好了。
对了name那一栏是war包的名字,一定要起好了,后面tomcat 配置application context的时候,要跟这个对应,否则又TNN的404。
接下来看tomat的配置:
这里没什么好说的,主要看Deployment这个选项
这里要点击+号添加你刚才在Artifacts那里配置好的war包。,这里的过程其实就是部署war包,否则tomcat哪知道你要跑什么东西。记得看图中红色的字,拉到下面,有的同学的界面是在右边,将Application Context路径设为 / war包的名字 即可。
好啦,到此就可以跑啦啦啦啦啦!!!!
最后给大家看下输出的war包在哪里: