Eclipse Web 項目中,JSP 文件可正常訪問,但新建的 Java 文件(Servlet/類)運行報 404 錯誤。
HTTP 404 表示服務器找不到請求的資源。對於 Java 文件,通常意味著:
WEB-INF/classes 或打包到 WEB-INF/lib。@WebServlet 或 web.xml 配置的路徑不匹配。HttpServlet 並配置 URL 映射。useBean 引用。// 方式一:注解(Servlet 3.0+)
@WebServlet("/user/login")
public class LoginServlet extends HttpServlet { ... }
// 方式二:web.xml
LoginServlet
com.example.LoginServlet
LoginServlet
/user/login
訪問 URL 必須為:https://localhost:8080/項目名/user/login
WEB-INF/classes。/項目名。| 錯誤 | 後果 | 修正 |
|---|---|---|
| Java 文件放在 src 根目錄無包名 | 編譯報錯或類加載失敗 | 建立包結構:com.example.module |
| 直接在瀏覽器輸入 .java 文件路徑 | 404,服務器不直接服務源碼 | 訪問對應的 Servlet/Controller URL |
| 忘記重啟 Tomcat 使新類生效 | 舊版本類生效 | 修改後自動熱部署或手動重啟 |
doGet 中寫死 response.getWriter().write("OK")。ClassNotFoundException 或映射衝突日誌。理解「Java 類 ≠ 直接可訪問 URL」,必須通過 Servlet/Controller 映射暴露端點,是 Web 開發入門的關鍵認知轉變。