1. 程式人生 > >@WebFilter("")配置servlet訪問出現404的原因

@WebFilter("")配置servlet訪問出現404的原因

logs log 直接 blog 訪問 依賴 rtt 原因 5.0

配置 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

@WebFilter("")配置servlet訪問出現404的原因