日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

servlet已經配置url映射,提示Servlet should have a mapping and cannot resolve Servlet,訪問404

作者:zy_whynot 更新時間: 2022-03-14 編程語言

問題描述

在學習servlet時,寫好servlet,并在web.xml配置文件中配置了url映射,如下:

<!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
    <display-name>Archetype Created Web Application</display-name>
    <servlet>
        <!--        name -->
        <servlet-name>HelloServlet</servlet-name>
        <!--        className -->
        <servlet-class>com.zy.servlet.HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <!--        name -->
        <servlet-name>HelloServlet</servlet-name>
        <!--        url -->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

啟動服務器,生成的target中的web.xml報錯
在這里插入圖片描述
在這里插入圖片描述
在瀏覽器中訪問:localhost:8080/hello ,報404

尋找答案

在網上找了半天,千篇一律都是說修改Deployment Descriptors 的地址
在這里插入圖片描述
但是我想著我并沒有修改過這個地址啊,怎么會出問題呢?修改了之后還是不行,百思不得其解!!!

問題分析

404就是找不到匹配的路徑唄。后來發現當我們配置通過瀏覽器訪問Tomcat服務器是這樣的
在這里插入圖片描述
但使用服務器運行我們項目之后,IDEA不知什么時候給這個路徑加了前綴:
在這里插入圖片描述
這時我們通過localhost:8080/hello訪問肯定找不到路徑,正確的訪問路徑應該是:http://localhost:8080/javaweb_01_maven_war/hello
至此,這個困擾已久的問題終于解決了?。。?/p>

吐槽一下:IDEA這一步真的有點畫蛇添足了。我也不理解它為啥會自動幫我們添加這個前綴,有知道的兄弟請留言解惑,不勝感激?。?!

原文鏈接:https://blog.csdn.net/zy_whynot/article/details/123057833

欄目分類
最近更新