java struts常見錯誤以及原因解析
1 異常 xception: Cannot retrieve mapping for action /Login (/Login是你的action名字)
可能原因:action沒有再 中定義,或沒有找到匹配的action,例如在JSP文件中使用 處理:如果出現上述異常,請查看中的定義部分,有時可能是打錯了字符或者是某些不符合規則,可以使用struts console工具來檢查。
2 異常 erException: Cannot retrieve definition for form bean null
可能原因: 這個異常是因為Struts根據中的mapping沒有找到action期望的form bean。大部分的情況可能是因為在form-bean中設置的name屬性和action中設置的name屬性不匹配所致。換句話説,action和form都應該各自有一個name屬性,並且要精確匹配,包括大小寫。這個錯誤當沒有name屬性和action關聯時也會發生,如果沒有在action中指定name屬性,那麼就沒有name屬性和action相關聯。當然當action製作某些控制時,譬如根據參數值跳轉到相應的jsp頁面,而不是處理表單數據,這是就不用name屬性,這也是action的使用方法之一。
3 異常 No action instance for path /xxxx could be created
可能原因
特別提示:因為有很多中情況會導致這個錯誤的發生,所以推薦大家調高你的web服務器的'日誌/調試級別,這樣可以從更多的信息中看到潛在的、在試圖創建action類時發生的錯誤,這個action類你已經在中設置了關聯(即添加了標籤)。
在中通過action標籤的class屬性指定的action類不能被找到有很多種原因,例如:
定位編譯後的s文件失敗。Failure to place compiled s file for the action in the classpath (在web開發中,class的的位置在r WEB-INF/classes,所以你的action class必須要在這個目錄下。例如你的action類位於WEB-INF/classes/action/s,那麼在中設置action的屬性type時就是n).
拼寫錯誤,這個也時有發生,並且不易找到,特別注意第一個字母的大小寫和包的名稱。
在中指定的action類沒有繼承自Stuts的Action類,或者你自定義的Action類沒有繼承自Struts提供的Action類。
你的action類必須繼承自Struts提供的Action類。
你的classpath的問題。例如web server沒有發現你的資源文件,資源文件必須在WEB-INF/classes/目錄下。
4 異常 xception: No getter method for property username of bean
可能原因
沒有位form bean中的某個變量定義getter 方法
這個錯誤主要發生在表單提交的FormBean中,用struts標記時,在FormBean中必須有一個getUsername()方法。注意字母“U”。
5 Exception xception: Cannot find ActionMappings or ActionFormBeans collection
可能原因
不是標識Struts actionServlet的標記就是映射擴展名的標記或者兩者都沒有在中聲明。
在中的打字或者拼寫錯誤也可導致這個異常的發生。例如缺少一個標記的關閉符號/>。最好使用struts console工具檢查一下。
另外,load-on-startup必須在中聲明,這要麼是一個空標記,要麼指定一個數值,這個數值用來表servlet運行的優先級,數值越大優先級越低。
還有一個和使用load-on-startup有關的是使用Struts預編譯JSP文件時也可能導致這個異常。
6 Exception
xception: Cannot find bean in any scope
Probable Causes
試圖在Struts的form標記外使用form的子元素。這常常發生在你在後面使用Struts的html標記。
另外要注意可能你不經意使用的無主體的標記,如,這樣web 服務器解析時就當作一個無主體的標記,隨後使用的所有標記都被認為是在這個標記之外的,如又使用了
還有就是在使用taglib引入HTML標記庫時,你使用的prefix的值不是html
-
Javascript和Java語言間的異同比較
雖然Javascript與Java有緊密的聯繫,但卻是兩個公司開發的不同的兩個產品。那麼js和java有什麼關係,兩種語言的不同點是什麼呢?以下是本站小編搜索整理的關於Javascript和Java語言間的異同比較,供參考學習,感興趣的小夥伴們可以參考一下!想了解更多相關信息請持續關...
-
java日期時間基本操作方法
1.獲得Calendar實例:Calendarc=nstance();2.定義日期/時間的格式:SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");3.把日期/時間轉換成固定格式,使用SimpleDateFormat的'format()方法:Stringdatetime=at(ime());4.把字符串轉換成日期/時間,...
-
查看java對象所佔的內存大小的方法
做一些cache的時候,我們不可能把數據庫的所有的數據都緩存到內存裏面,我們要估計緩存的大小。那麼如何查看java對象所佔的內存大小呢?本文為大家介紹一下方法,希望可以為您提供幫助!更多內容請關注應屆畢業生考試網!(1)做一些cache的時候,我們不可能把數據庫的所有的...
-
XP如何配置JAVA環境變量
Java是在1995年由Sun公司推出的一種極富創造力的面向對象的程序設計語言,它由Java之父詹姆斯戈士林博士設計。下面,小編為大家整理關於XP如何配置JAVA環境變量,歡迎大家參考閲讀。XP如何配置JAVA環境變量XP配置方法:1.右擊“我的'電腦”,點擊“屬性”:2.選擇“高級...