今晚用Eclipse做javaweb的项目时,跑着跑着Tomcat居然崩了,然后报了一堆错误,主要是说容器启动失败,我发现问题出现在如图所示的位置,可不知怎么修改,该怎么办?!!!
图片说明
这是一张饱含信息量的图片,毕竟上面什么错误也没给你讲。这个时候,一般地,好习惯是看看控制台的报错信息,坏习惯是直接百度解决方法。
由于经常地,做作业碰上问题都习惯找别人的解决方法,许多时候能对症下药,但有时候就是在无头苍蝇乱飞。
当我在web.xml查找 < url-pattern >无法解决时,重建了一个server也不行。我就认真地看控制台了。
问题其实是出自于,创建servlet时,我给servlet的路径前加上了一个虚拟文件夹,即本来新建servlet的路径是’/HandleLogon.java’,我改成了’/user/HandleLogon.java’,而在HandleLogon.java页面上,即在servlet页面有一句是,’@WebServlet("/user/HandleLogon")’,问题出在我写成了’@WebServlet(“user/HandleUserList”)’,即在虚拟文件夹前少了斜杠‘/’。
第一条报错是这个
主要错误是:
@WebServlet的功能是,可以通过@WebServlet配置web.xml内的servlet属性,而servlet通过@WebServlet标签进行URL映射。
详见可参考
- @WebServlet的使用方法:
https://blog.youkuaiyun.com/qq_36040184/article/details/54092470
- servlet虚拟路径映射(转自博客园 David Gandy ):
https://blog.youkuaiyun.com/langzhoulu/article/details/80464383
- 关于路径加‘/’可参考:
https://blog.youkuaiyun.com/u014801403/article/details/53382961
- 关于servlet的url-pattern匹配规则可参考:
https://www.cnblogs.com/canger/p/6084846.html
起初还以为是网上很多说Web.xml的url-pattern问题,其实错误说的很清楚了,问题就在主要错误上:Invalid [HandleUserList] in servlet mapping,就是路径的问题。毕竟新建了虚拟的文件夹,路径要把文件夹包含进去。
关于Tomcat启动失败有很多原因,这只是个个例。但是,希望能得到的回馈是,当自己出了错时,要先尝试自己查看控制台的信息,自己去解决问题,而不是一昧地百度找方法,照搬的东西以后自己还是不会的。趁学习有时间,尽可能多自己解决问题吧。还有,细心还是不可少的。吃亏长智吧。加油哇