@WebFilter("")配置servlet访问出现404的原因

配置 servlet 一共有两种方式

  1. 直接在web.xml中配置name 和 url-parttern
  2. 使用注解配置servlet

使用注解的方式配置servlet是在servlet3.0之后新增的特性,用于简化servlet、Filter、Listener的声明,这样在配置servlet的时候就多了一个选择(web.xml中不会出现那么多的配置)

在servlet3.0之后的描述文件web.xml的顶层标签<web-app>中有一个metadata-complete属性,该属性为true,则容器在部署项目的时候只依赖部署描述文件(web.xml),忽略所有标注,如果不配置该属性,或者设置为false,web.xml和注解对于servlet的影响同时起作用,两种方式定义的url-parttern都可以访问到该servlet。web.xml会覆盖注解属性,

注意开发环境版本问题,jdk5.0之后才支持注解,tomcat7.0以上的版本,web.xml中的web-app标签version属性需要大于3.0;

这些都配置完成,使用idea的同学会发现还是404,那是因为idea在创建的时候,会使用name,但是value(也就是url-parttern)需要自己配置,

这样才可以正常访问,配置url-parttern的时候注意格式问题,具体的请查看这篇博客:https://www.cnblogs.com/ice-image/p/10118439.html

原文地址:https://www.cnblogs.com/ice-image/p/10276555.html