servlet3.0 @WebServlet注解无效的情况

web.xml文件中的metadata-comcomplete属性的作用:

  该属性指定当前的部署描述文件是否是完全的。如果设置为true,则容器在部署时只依赖部署描述文件,忽略所有的注解(同时也会跳过web-fragment.xml的扫描,亦即禁用可插性支持);如果设置为false或不配置该属性,则表示启用注解支持(和可插性支持)。

注解有效的web.xml(metadata-complete="false"或者直接删除)

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
    metadata-complete="false" version="3.1">

</web-app>

注解无效的web.xml(metadata-complete="true")

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
    metadata-complete="true" version="3.1">

</web-app>

猜你喜欢

转载自www.cnblogs.com/guduershi/p/10170260.html