Servlet常見錯誤校驗表:
________________________________________________________________ 故障現象 可能的原因 ________________________________________________________________ servlet不能編譯 除了通常的java語言錯誤以外,還有一些跟servlet有關的原因: 1 沒有導入javax.servlet.*或javax.servlet.http.*; 2 類沒有實現子類servlet或者它的一個子類; 3 servlet.jar沒有在類路徑中設置 ________________________________________________________________ 沒有加載servlet 這可能有多種原因: 1 使用了錯誤的url(如,沒有指定/servlet); 2 大小寫錯; 3 類沒有在servlet引擎的servlet路徑中; 4 有關的類沒有在servlet引擎的類路徑中; 5 servlet在初始化過程中失敗 6 servlet引擎沒有處于運行狀態; 7 web服務器沒有處于運行狀態 _______________________________________________________________ 空的參數值 查看getParameteter()是否使用了一個帶多個值的參數 _______________________________________________________________ 空指針異常 這可能表明這樣的失敗:在從會話提取值以前創建會話失敗 _______________________________________________________________ 初始參數的錯誤取值 確認參數名稱拼寫得是否跟程序中的和servlet屬性中的完全一樣 (注意大小寫) ________________________________________________________________ 空的初始化參數 init()方法沒有調用super.init(config) ________________________________________________________________ Servlet引擎在關閉時掛起 destroy()方法沒有調用super.destroy(); ________________________________________________________________ 錯誤的MIME類型 確保在寫入到響應流以前是否調用了setContentType(); ________________________________________________________________ 被破壞的數據值 確認在非同步化的方法中是否使用實例變量。 記住:除非顯示地實現SingleThreadMode,否則 servlet的單個實例就可以被 多個線程運行,如果是這樣的話, 任何實例變量都是由所有線程共享的。
|