[英]Servlet Mapping Error appears when “@WebServlet” annotation is present
我的web.xml
看起来像这样:
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.ajayramesh.jrecycled.servlets.Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
我有一个名为Login.java的类,带有一个自动生成的注释,该注释说:
@WebServlet("/login")
就在我的HttpServlet
类扩展声明上方。 当存在此批注时,尝试启动服务器时出现以下错误:
The servlets named [LoginServlet] and [com.ajayramesh.jrecycled.servlets.Login] are both mapped to the url-pattern [/login] which is not permitted
我的web.xml
只有一个定义,只有一个web.xml
。 当我删除此注释时,服务器工作正常。 据我了解,注释不应该对程序的运行时间有影响,而只是为了优化编译? 附带说明一下,该批注的确切作用是什么?
注释和web.xml不能使用相同的映射,可以使用其中任何一个。 应用服务器将其视为重复的网址映射。
基本上,在web.xml中声明servlet和servlet映射元素等同于用@WebServlet注释servlet类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.