在写servlet时发现可以通过在servlet类文件中添加
@WebServlet(name = "TestServlet",urlPatterns = {"/testServlet"})
这行代码,从而省略在web.xml文件中的servlet配置,实在是很方便的功能呢。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
不过值得注意的是当servlet以以下方式命名时会报错:
报错信息:
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[]]
完整报错信息如下:
由上面的报错信息可知,出错应该是由于Servlet1和servlet1名字不一致引起的,此时应将两个名字统一命名为servlet1,结果如下:
很好奇,为什么servlet命名时后面加数字的话会强制前后两个名字一致,这里先暂且记下,以后有空再深入探究吧 (๑•̀ㅂ•́)و✧ 。。。