servlet在intellij idea中的一种便捷配置&注意事项

时间:2021-01-27 09:32:46

 

在写servlet时发现可以通过在servlet类文件中添加

@WebServlet(name = "TestServlet",urlPatterns = {"/testServlet"})

这行代码,从而省略在web.xml文件中的servlet配置,实在是很方便的功能呢。

servlet在intellij idea中的一种便捷配置&注意事项

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

不过值得注意的是当servlet以以下方式命名时会报错

servlet在intellij idea中的一种便捷配置&注意事项

报错信息

java.lang.IllegalArgumentException: The servlets named [servlet1] and [Servlet1] are both mapped to the url-pattern [/servlet1] which is not permitted

java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]

完整报错信息如下

servlet在intellij idea中的一种便捷配置&注意事项

servlet在intellij idea中的一种便捷配置&注意事项

servlet在intellij idea中的一种便捷配置&注意事项

 由上面的报错信息可知,出错应该是由于Servlet1servlet1名字不一致引起的,此时应将两个名字统一命名为servlet1,结果如下:

servlet在intellij idea中的一种便捷配置&注意事项

很好奇,为什么servlet命名时后面加数字的话会强制前后两个名字一致,这里先暂且记下,以后有空再深入探究吧 (๑•̀ㅂ•́)و✧ 。。。