一、昨天在写jsp的时候,突然出现了这个问题,百思不得其解。
二、通过一番挠头分析加面向百度,貌似找到了解决办法。(此方法不可行)
首先查看报错原因,找到关键字,说是子容器启动失败
试了试网上的方法,配置tomcat,双击server下的tomcat,打开这个界面,钩上橙框中的选项,一波ctrl s出来,发现并没有什么卵用,jsp倒是可以显示出来了,但是servlet映射不出来,显示找不到资源。
三、重点来了
然后开始考虑到我的servlet,之前是可以运行的,在不能运行之前,写了一下xml文件,咦,问题好像就明了了,应该是出在了XML上。
于是删掉我刚刚为新写的servlet配置的xml,保存运行,问题解决,起飞🛫️。
这里的@WebServlet("/RegisterServlet")
注解会自动配置servlet映射路径,所以就和自己在XML里面配置的路径冲突,就会出现错误。
我的XML文件
<servlet>
<servlet-name>RegisterServlet</servlet-name>
<servlet-class>com.test.servlet.RegisterServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RegisterServlet</servlet-name>
<url-pattern>/RegisterServlet</url-pattern>
</servlet-mapping>
四、解决办法
注解自动配置和XML手动配置 你只能选一个,又回到那个问题,百事可乐和可口可乐掉河里,你先救谁🥤