1. 程式人生 > >web程序常見錯誤及解決方法

web程序常見錯誤及解決方法

開始 個數字 ice 依據 文件中 方法參數 500錯誤 程序 運行

404錯誤產生原因及解決方法

在剛開始進行Web應用開發的時候,經常看見頁面出現404這個數字,我們一般會稱之為運行產生了404錯誤。類似於404這個數字,還有可能在頁面上看到405、500這兩個數字,他們都是服務器執行完客戶端的請求以後,返回給客戶端的一個關於執行結果的狀態編碼說明。 如果在運行結果頁面中沒有看到期待的頁面,卻看到了404、405、500這樣的數字,那麽代表著服務器告訴客戶端運行產生了錯誤,掌握何種錯誤情況產生對應的數字將有利於問題的解決。
404產生的原因為Web服務器(容器)根據請求地址找不到對應資源,以下情況都會出現404的錯誤提示:
輸入的地址有誤(應用名大小寫不正確,名稱拼寫不正確)
在web.xml文件中和中的兩個不一致
沒有將工程部署到Tomcat的webapps下面
Web工程部署時的結構沒有遵循Servlet的規範
具體的解決辦法就是根據上面提到的4種情況,逐條進行檢查。

容器如何找到service()方法

當在瀏覽器中輸入 http://localhost:8080/firstweb/sayHi 這個地址後,容器是如何找到 HelloServlet.class這個文件並執行的呢?
首先容器會根據firstweb這個應用名找到位於webapps下面對應的文件夾,然後根據地址中的“/sayHi”到web.xml文件中尋找與之匹配的節點,找到匹配的節點後會找到與該節點緊鄰的節點,獲取名稱並在此尋找與該名稱相等的節點,找到相等的節點後,搜尋該節點下面緊鄰的節點,於是獲取到了與該地址相對應的類名,借助於ClassLoader加載該類文件,創建對象並調用service()方法,客戶端即看到了與該地址匹配的運行結果。

405錯誤產生原因及解決方法

405這個錯誤的產生原因是容器找不到service方法來處理請求。以下情況容器都將視為沒有找到service()方法
service方法名寫錯,字母順序不對或大小寫錯誤
service方法參數類型與標準不一致,或參數順序與標準不一致。一定是先HttpServletRequest,然後是HttpServletResponse類型
service方法異常、返回值類型與標準不一致,一定是拋出ServletException、IOException。返回值類型是void。
解決405錯誤的方法即檢查service方法是否存在,簽名(方法名、參數、返回值、異常類型)是否與覆蓋的父類中的方法一致。

500錯誤產生原因及解決方法

500的錯誤原因是請求的Servlet在執行service方法的過程中出現了錯誤,程序不能繼續運行了。以下情況容器都將視為500的一種情況,而返回給客戶端這個錯誤說明。
Servlet沒有繼承HttpServlet或實現Servlet接口
web.xml文件中的寫錯,與真正的包名類名不符
service方法中的代碼運行時拋出異常
解決500的方法為依據上面三種情況依次進行檢測,逐條排除。

web程序常見錯誤及解決方法