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