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}")
復制進去即可。
關於表單訪問servlet的寫法
先放一下我的目錄:
正確寫法:
<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的一些情況的文章就介紹到這瞭,更多相關IDEA下Servlet404報錯內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Servlet方法生命周期及執行原理詳解
- Java後端用EL表達式改進JSP
- 基於Cookie與Session的Servlet API會話管理操作
- Java中Servlet的生命周期詳解
- Java實現多文件上傳功能