這篇文章將為大家詳細講解有關IDEA下Servlet可能出現404的原因,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1.注解中只寫name,不寫urlPatterns。結果會報錯。
2.不明確寫出urlPatterns,但內容是urlPatterns的內容:@WebServlet("/ServletDemo1")
注:斜杠后面的部分可以換成自己的編寫的java文件名。結果可以訪問。
3.只寫urlPatterns:@WebServlet(urlPatterns = "/ServletDemo1")
。結果可以訪問。
4.name和urlPattern都寫:@WebServlet(name = "ServletDemo1", urlPatterns = "/ServletDemo1")
。結果可以訪問。
綜上所述,建議name與urlPatterns都寫上:@WebServlet(name = "ServletDemo1", urlPatterns = "/ServletDemo1")
但每次這樣寫會很麻煩,可以直接改一下模板:
然后把@javax.servlet.annotation.WebServlet(name = "${Entity_Name}", urlPatterns="/${Entity_Name}")
復制進去即可。
先放一下我的目錄:
正確寫法:
<form action="/ServletDemo1"
注意:這里可能有人說ServletDemo1不是在src目錄下面嗎?為什么不寫src呢?
先說結果,寫了src會報錯,下面的錯誤寫法中也會有體現。我思考了下,原因可能是:我們在第一次配置servlet環境的時候,選擇了src為servlet文件的根目錄,同時,也正因為我們選擇了src作為servlet的根目錄,所以我們才能在src目錄下創建servlet文件,如下圖:
綜上,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的原因”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。