web程式常見錯誤及解決方案

來源:互聯網
上載者:User

標籤:常見錯誤   異常類   大小寫   方法   tomcat   問題   產生   ice   web應用   

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程式常見錯誤及解決方案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.