IDEA下Servlet可能出現404的一些情況

關於註解的寫法

1.註解中隻寫name,不寫urlPatterns。結果會報錯。

image-20210601155416909

image-20210601155650556

2.不明確寫出urlPatterns,但內容是urlPatterns的內容:@WebServlet("/ServletDemo1") 註:斜杠後面的部分可以換成自己的編寫的java文件名。結果可以訪問。

image-20210601160001482

3.隻寫urlPatterns:@WebServlet(urlPatterns = "/ServletDemo1")。結果可以訪問。

image-20210601163654449

4.name和urlPattern都寫:@WebServlet(name = "ServletDemo1", urlPatterns = "/ServletDemo1")。結果可以訪問。

image-20210601160637518

綜上所述,建議name與urlPatterns都寫上:@WebServlet(name = "ServletDemo1", urlPatterns = "/ServletDemo1")

但每次這樣寫會很麻煩,可以直接改一下模板:

image-20210601175813012 image-20210601180201256

然後把@javax.servlet.annotation.WebServlet(name = "${Entity_Name}", urlPatterns="/${Entity_Name}")復制進去即可。

關於表單訪問servlet的寫法

先放一下我的目錄:

image-20210601161321712

正確寫法:

<form action="/ServletDemo1"

註意:這裡可能有人說ServletDemo1不是在src目錄下面嗎?為什麼不寫src呢?

先說結果,寫瞭src會報錯,下面的錯誤寫法中也會有體現。我思考瞭下,原因可能是:我們在第一次配置servlet環境的時候,選擇瞭src為servlet文件的根目錄,同時,也正因為我們選擇瞭src作為servlet的根目錄,所以我們才能在src目錄下創建servlet文件,如下圖:

image-20210601162119640

image-20210601162737551

綜上,src是被視為根目錄的,用”/”就可以表示根目錄,所以直接寫<form action="/ServletDemo1">是可以的。

錯誤寫法:

1.<form action="/WEB-INF/classes/ServletDemo1.class" method="get">註:method選擇get或post大傢根據實際情況決定,我這裡一並放上來瞭,大傢隻關註action的內容即可。

2.<form action="/src/ServletDemo1" method="get">

到此這篇關於IDEA下Servlet可能出現404的一些情況的文章就介紹到這瞭,更多相關IDEA下Servlet404報錯內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: