Servlet中寫了注解@WebServlet但訪問servlet報404錯誤


以前一直用的eclipse,web.xml文件自動生成的,沒自己改過。

這次web.xml是先創建maven項目再添加web配置時,隨便從一個web4.0項目里拷貝來的,然后就出問題了。

Servlet中寫了注解@WebServlet("xxxx"),但訪問servlet時報404錯誤。

(一)看了web的確是3.0以上的,沒找到問題在哪,看了篇博客解決了:https://www.cnblogs.com/iCheny/p/10976735.html


  • 原web.xml(出問題的)

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                          http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0"
             metadata-complete="true">
    </web-app>
    
  • 用Servlet注解的話把metadata-complete改成false

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                          http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0"
             metadata-complete="false">
    </web-app>
    


(二)補充:

  • 如果項目名后來修改過了,要查看tomcat部署里的artifact是否和項目同名,不同名部署路徑會出錯。

    • 不同名:

    • 修改成同名的:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM