java访问错误404_如何解决 Java web 项目中的 404 错误
在使用 Tomcat 進(jìn)行 Java Web 開發(fā)的時(shí)候,經(jīng)常會遇到以下 HTTP 404 錯(cuò)誤:
錯(cuò)誤代碼為 HTTP 404(未找到),描述信息是:
“The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.”
此錯(cuò)誤表示服務(wù)器找不到請求的資源(JSP,HTML,圖像等),并返回 HTTP 狀態(tài)代碼404。大多數(shù)時(shí)候,可以通過更正 URL 來解決此錯(cuò)誤。但有的時(shí)候并非那么簡單。
在這里列出一些可能的原因,以及如何在使用 Tomcat 的 Java Web 開發(fā)中修復(fù)錯(cuò)誤 HTTP 404。
URL 沒有任何 Java Servlet 進(jìn)行處理
檢查 servlet 類中的 URL 映射,確保請求的 URL 是由 servlet 處理的。 例如:
@WebServlet("/view_book")
public class ViewBookServlet extends HttpServlet {
...
}
上面的 servlet 可以處理 /view_book。如果請求的 URL 是 /view_books,則服務(wù)器將引發(fā) HTTP 404 錯(cuò)誤。可以通過更正 URL 或更正 @WebServlet 注解中的 URL 映射來進(jìn)行修復(fù)。
在舊的 Java Web 應(yīng)用程序中,需要檢查 Web 部署描述符文件 web.xml,其中由將 Java servlet 映射到 URL 的配置,如下所示:
ViewBookServlet
/view_book
Java Servlet 轉(zhuǎn)發(fā)到不存在的資源
在這種情況下,請求的 URL 由 Java servlet 處理,但是 servlet 隨后轉(zhuǎn)發(fā)到一個(gè)不存在的資源(JSP,HTML…),如下所示:
servlet 類中的代碼如下:
String registerForm = "frontend/registerform.jsp";
RequestDispatcher dispatcher = request.getRequestDispatcher(registerForm);
dispatcher.forward(request, response);
可以更正 servlet 中的轉(zhuǎn)發(fā)路徑來進(jìn)行修復(fù),并確保轉(zhuǎn)發(fā)的資源確實(shí)存在。
網(wǎng)址區(qū)分大小寫
注意,Tomcat 中的 URL 區(qū)分大小寫,例如 /Register 與 /register 不同。 因此需要檢查請求 URL 中的字母并使用正確的大小寫。
還要注意 URL 中的 Web 應(yīng)用程序名稱的大小寫,例如 http://localhost:8080/BookstoreWebsite/ 與 http://localhost:8080/BookStoreWebsite/ 是不同的。
最后,不應(yīng)讓用戶看到服務(wù)器呈現(xiàn)的原始 HTTP 404 錯(cuò)誤頁面。 而是應(yīng)該設(shè)計(jì)自己的用戶友好型 404 錯(cuò)誤頁面。
總結(jié)
以上是生活随笔為你收集整理的java访问错误404_如何解决 Java web 项目中的 404 错误的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 骁龙660是32位还是64位_微软公布v
- 下一篇: linux启动tongweb命令,lin