<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA常見錯誤處理

    異常
    ?javax.servlet.jsp.JspException:?Cannot?retrieve?mapping?for?action?/Login?(/Login是你的action名字)???
    ?
    可能原因
    ?action沒有再struts-config.xml?中定義,或沒有找到匹配的action,例如在JSP文件中使用?<html:form?action="Login.do".將表單提交給
    Login.do處理,如果出現上述異常,請查看struts-config.xml中的定義部分,有時可能是打錯了字符或者是某些不符合規則,可以使用struts
    console工具來檢查。
    -----------------------------------------------------------------------------------------------------------------
    異常
    ?org.apache.jasper.JasperException:?Cannot?retrieve?definition?for?form?bean?null
    ?
    可能原因??????
    ???????
    ?這個異常是因為Struts根據struts-config.xml中的mapping沒有找到action期望的form?bean。大部分的情況可能是因為在form-bean中設置的
    name屬性和action中設置的name屬性不匹配所致。換句話說,action和form都應該各自有一個name屬性,并且要精確匹配,包括大小寫。這個
    錯誤當沒有name屬性和action關聯時也會發生,如果沒有在action中指定name屬性,那么就沒有name屬性和action相關聯。當然當action制作
    某些控制時,譬如根據參數值跳轉到相應的jsp頁面,而不是處理表單數據,這是就不用name屬性,這也是action的使用方法之一。
    -----------------------------------------------------------------------------------------------------------------
    異常
    ?No?action?instance?for?path?/xxxx?could?be?created
    ?
    可能原因
    ?特別提示:因為有很多中情況會導致這個錯誤的發生,所以推薦大家調高你的web服務器的日志/調試級別,這樣可以從更多的信息中看到潛在
    的、在試圖創建action類時發生的錯誤,這個action類你已經在struts-config.xml中設置了關聯(即添加了<action>標簽)。
    ?
    在struts-config.xml中通過action標簽的class屬性指定的action類不能被找到有很多種原因,例如:
    定位編譯后的.class文件失敗。Failure?to?place?compiled?.class?file?for?the?action?in?the?classpath?(在web開發中,class的的位置
    在r?WEB-INF/classes,所以你的action?class必須要在這個目錄下。例如你的action類位于WEB-INF/classes/action/Login.class,那么在
    struts-config.xml中設置action的屬性type時就是action.Login).
    拼寫錯誤,這個也時有發生,并且不易找到,特別注意第一個字母的大小寫和包的名稱。?
    -----------------------------------------------------------------------------------------------------------------
    異常
    ?javax.servlet.jsp.JspException:?No?getter?method?for?property?username?of?bean?org.apache.struts.taglib.html.BEAN
    ?
    可能原因
    ?沒有位form?bean中的某個變量定義getter?方法
    ?
    這個錯誤主要發生在表單提交的FormBean中,用struts標記<html:text?property=”username”>時,在FormBean中必須有一個getUsername()
    方法。注意字母“U”。
    -----------------------------------------------------------------------------------------------------------------
    異常
    ?java.lang.NoClassDefFoundError:?org/apache/struts/action/ActionForm
    ?
    可能原因
    ?這個錯誤主要發生在在classpath中找不到相應的Java?.class文件。如果這個錯誤發生在web應用程序的運行時,主要是因為指定的class文件
    不在web?server的classpath中(/WEB-INF/classes?和?/WEB-INF/lib)。
    在上面的錯誤中,原因是找不到ActionForm類。
    -----------------------------------------------------------------------------------------------------------------
    異常
    ?javax.servlet.jsp.JspException:?Exception?creating?bean?of?class?org.apache.struts.action.ActionForm:?{1}
    ?
    可能原因
    ?Instantiating?Struts-provided?ActionForm?class?directly?instead?of?instantiating?a?class?derived?off?ActionForm.?This?might
    occur?implicitly?if?you?specify?that?a?form-bean?is?this?Struts?ActionForm?class?rather?than?specifying?a?child?of?this?class
    for?the?form-bean.
    ?
    Not?associating?an?ActionForm-descended?class?with?an?action?can?also?lead?to?this?error.
    -----------------------------------------------------------------------------------------------------------------
    異常
    ?javax.servlet.jsp.JspException:?Cannot?find?ActionMappings?or?ActionFormBeans?collection
    ?
    可能原因
    ?不是標識Struts?actionServlet的<servlet>標記就是映射.do擴展名的<sevlet-mapping>標記或者兩者都沒有在web.xml中聲明。
    ?
    在struts-config.xml中的打字或者拼寫錯誤也可導致這個異常的發生。例如缺少一個標記的關閉符號/>。最好使用struts?console工具檢查一
    下。
    ?
    另外,load-on-startup必須在web.xml中聲明,這要么是一個空標記,要么指定一個數值,這個數值用來表servlet運行的優先級,數值越大優
    先級越低。
    ?
    還有一個和使用load-on-startup有關的是使用Struts預編譯JSP文件時也可能導致這個異常。
    -----------------------------------------------------------------------------------------------------------------
    異常
    ?java.lang.NullPointerException?at?org.apache.struts.util.RequestUtils.forwardURL(RequestUtils.java:1223)
    ?
    可能原因
    ?在struts-config.xml中的forward元素缺少path屬性。例如應該是如下形式:
    <forward?name="userhome"?path="/user/userhome.jsp"/>
    -----------------------------------------------------------------------------------------------------------------
    異常
    ?javax.servlet.jsp.JspException:?Cannot?find?bean?org.apache.struts.taglib.html.BEAN?in?any?scope
    ?
    ?
    ??
    ?
    Probable?Causes
    ?試圖在Struts的form標記外使用form的子元素。這常常發生在你在</html:form>后面使用Struts的html標記。
    另外要注意可能你不經意使用的無主體的標記,如<html:form?…?/>,這樣web?服務器解析時就當作一個無主體的標記,隨后使用的所有
    <html>標記都被認為是在這個標記之外的,如又使用了<html:text?property=”id”>
    還有就是在使用taglib引入HTML標記庫時,你使用的prefix的值不是html。
    -----------------------------------------------------------------------------------------------------------------
    異常
    ?javax.servlet.jsp.JspException:?Missing?message?for?key?xx.xx.xx
    ?
    Probable?Causes
    ?這個key的值對沒有在資源文件ApplicationResources.properties中定義。如果你使用eclipse時經常碰到這樣的情況,當項目重新編譯時,
    eclipse會自動將classes目錄下的資源文件刪除。
    ?
    資源文件ApplicationResources.properties?不在classpath中應將資源文件放到?WEB-INF/classes?目錄下,當然要在struts-config.xml中
    定義)
    -----------------------------------------------------------------------------------------------------------------
    異常
    ?Cannot?find?message?resources?under?key?org.apache.struts.action.MESSAGE
    ?
    可能原因
    ?很顯然,這個錯誤是發生在使用資源文件時,而Struts沒有找到資源文件。
    ?
    Implicitly?trying?to?use?message?resources?that?are?not?available?(such?as?using?empty?html:options?tag?instead?of?specifying
    the?options?in?its?body?--?this?assumes?options?are?specified?in?ApplicationResources.properties?file)
    ?
    XML?parser?issues?--?too?many,?too?few,?incorrect/incompatible?versions
    -----------------------------------------------------------------------------------------------------------------
    異常
    ?Strange?and?seemingly?random?characters?in?HTML?and?on?screen,?but?not?in?original?JSP?or?servlet.
    ?
    可能原因
    ?混和使用Struts的html:form標記和標準的HTML標記不正確。
    ?
    使用的編碼樣式在本頁中不支持。
    -----------------------------------------------------------------------------------------------------------------
    異常
    ?"Document?contained?no?data"?in?Netscape
    ?
    No?data?rendered?(completely?empty)?page?in?Microsoft?Internet?Explorer
    ?
    可能原因
    ?使用一個Action的派生類而沒有實現perform()方法或execute()方法。在Struts1.0中實現的是perform()方法,在Struts1.1中實現的是
    execute()方法,但Struts1.1向后兼容perform()方法。
    但你使用Struts1.1創建一個Action的派生類,并且實現了execute()方法,而你在Struts1.0中運行的話,就會得到"Document?contained?no
    data"?error?message?in?Netscape?or?a?completely?empty?(no?HTML?whatsoever)?page?rendered?in?Microsoft?Internet?Explorer.”的
    錯誤信息。
    ?
    ---------------------------------------------------------------------------------------------------------------------------
    異常
    ServletException:?BeanUtils.populate
    解決方案
    在用Struts上傳文件時,遇到了javax.servlet.ServletException:?BeanUtils.populate異常。
    我的ActionServlet并沒有用到BeanUtils這些工具類。后來仔細檢查代碼發現是在jsp文件里的form忘了加enctype=&quot;multipart/form-
    data&quot;?了。所以寫程序遇到錯誤或異常應該從多方面考慮問題存在的可能性,想到系統提示信息以外的東西。
    ----------------------------------------------------------------------------------------------------------------------------
    1.?定義Action后,?如果指定了name,?那么必須要定義一個與它同名的FormBean才能進行form映射.
    2.?如果定義Action后,?提交頁面時出現?"No?input?attribute?for?mapping?path..."?錯誤,?則需要在其input屬性中定義轉向的頁面.
    3.?如果插入新的數據時出現?"Batch?update?row?count?wrong:..."?錯誤,?則說明XXX.hbm.xml中指定的key的類型為原始類型(int,?long),
    因為這種類型會自動分配值,?而這個值往往會讓系統認為已經存在該記錄,?正確的方法是使用java.lang.Integer或java.lang.Long對象.
    4.?如果插入數據時出現?"argument?type?mismatch"?錯誤,?可能是你使用了Date等特殊對象,?因為struts不能自動從String型轉換成Date型,
    所以,?你需要在Action中手動把String型轉換成Date型.
    5.?Hibernate中,?Query的iterator()比list()方法快很多.
    6.?如果出現?"equal?symbol?expected"?錯誤,?說明你的strtus標簽中包含另一個標簽或者變量,?例如:
    <html:select?property="test"?onchange="<%=test%>"/>
    或者
    <html:hidden?property="test"?value="<bean:write?name="t"?property="p"/>"/>
    這樣的情況...?
    ---------------------------------------------------------------------------------------------------------------------------
    錯誤:
    Exception?in?thread?"main"?org.hibernate.exception.SQLGrammarException:?Could?not?execute?JDBC?batch?update
    原因與解決:
    ????因為Hibernate?Tools(或者Eclipse本身的Database?Explorer)生成*.hbn.xml工具中包含有catalog="***"(*表示數據庫名稱)這樣的
    屬性,將該屬性刪除就可以了
    ---------------------------------------------------------------------------------------------------------------------------
    錯誤:
    org.hibernate.ObjectDeletedException:?deleted?object?would?be?re-saved?by?cascade?(remove?deleted?object?from?associations)

    原因與解決:
    方法1?刪除Set方的cascade
    方法2?解決關聯關系后,再刪除
    方法3?在many-to-one方增加cascade?但值不能是none
    最后一招:
    檢查一下hashCode?equals是否使用了id作為唯一標示的選項了;我用uuid.hex時是沒有問題的;但是用了native,就不行了,怎么辦?刪除啊

    ----------------------------------------------------------------------------------------------------------------------------
    問題:
    今天用Tomcat?5.5.12,發現原來很好用的系統不能用了,反復測試發現頁面中不能包含?taglib,否則會出現以下提示:
    HTTP?Status?500?-type?Exception?report
    Message?
    description?The?server?encountered?an?internal?error?()?that?prevented?it?from?fulfilling?this?request.
    exception
    org.apache.jasper.JasperException:?/index.jsp(1,1)?Unable?to?read?TLD?"META-INF/tlds/struts-bean.tld"?from?JAR?file
    "file:*****/WEB-INF/lib/struts.jar":
    原因:
    更新了工程用的lib文件夾下的jar,發布時也發布了servlet.jar和jsp-api.jar。
    解決:
    把jsp-api.jar刪除就解決這個問題了。
    -----------------------------------------------------------------------------------------------------------------------------
    錯誤:?java.lang.NullPointerException
    原因:?發現?dao?實例、?manage?實例等需要注入的東西沒有被注入(俗稱空指針異常)
    解決:這個時候,你應該查看日志文件;默認是應用服務器的?log?文件,比如?Tomcat?就是?[Tomcat?安裝目錄?]/logs?;你會發現提示你:
    可能是:
    org.springframework.beans.factory.BeanCreationException:?Error?creating?bean?with?name?'sf'?defined?in?ServletContext
    resource?[/WEB-INF/applicationContext.xml]:?Initialization?of?bean?failed;?nested?exception?is
    org.hibernate.HibernateException:?could?not?configure?from?URL:?file:src/hibernate.cfg.xml
    org.hibernate.HibernateException:?could?not?configure?from?URL:?file:src/hibernate.cfg.xml
    ……………………….
    Caused?by:?java.io.FileNotFoundException:?src\hibernate.cfg.xml
    可能是:
    org.springframework.beans.factory.BeanCreationException:?Error?creating?bean?with?name?'sessionFactory'?defined?in
    ServletContext?resource?[/WEB-INF/applicationContext.xml]:?Initialization?of?bean?failed;?nested?exception?is
    org.hibernate.MappingException:?Resource:?com/mcc/coupon/model/UserRole.hbm.xml?not?found
    org.hibernate.MappingException:?Resource:?com/mcc/coupon/model/UserRole.hbm.xml?not?found
    然后你就知道原因是因為配置文件的解析出了錯誤,這個通過?Web?頁面是看不出來的。
    更多的是持久化影射文件出的錯誤;導致了沒有被解析;當然你需要的功能就無法使用了。
    ----------------------------------------------------------------------------------------------------------------------------
    錯誤:
    StandardWrapperValve[action]:?Servlet.service()?for?servlet?action?threw?exception
    javax.servlet.jsp.JspException:?Cannot?retrieve?mapping?for?action?/settlementTypeManage

    或者:
    ????type?Status?report
    ????message?Servlet?action?is?not?available
    ????description?The?requested?resource?(Servlet?action?is?not?available)?is?not?available.

    原因:?同?上
    ----------------------------------------------------------------------------------------------------------------------------
    ?錯誤
    StandardWrapperValve[jsp]:?Servlet.service()?for?servlet?jsp?threw?exception
    java.lang.ClassNotFoundException:?org.apache.struts.taglib.bean.CookieTei
    界面錯誤具體描述:
    org.apache.jasper.JasperException:?Failed?to?load?or?instantiate?TagExtraInfo?class:?org.apache.struts.taglib.bean.CookieTei
    ?

    ????原因與解決:
    ??<方案一>你的“html:”開頭的標簽沒有放在一個<html:form>中
    ?????<方案二>重新啟動你的應用服務器,自動就沒有這個問題了
    -----------------------------------------------------------

    posted on 2007-03-19 23:14 金家寶 閱讀(993) 評論(0)  編輯  收藏 所屬分類: J2EE概念理論性文摘

    主站蜘蛛池模板: a毛片在线还看免费网站| 日本免费v片一二三区| 激情内射亚洲一区二区三区爱妻| 亚洲A∨精品一区二区三区| 色欲国产麻豆一精品一AV一免费 | 亚洲美女中文字幕| 亚洲AV无码一区二三区| 毛片免费在线视频| 久久这里只精品国产免费10| 一级成人毛片免费观看| 黄色网页免费观看| 亚洲av中文无码乱人伦在线观看| 亚洲男人天堂影院| 亚洲成aⅴ人在线观看| 亚洲国产精品综合福利专区| 亚洲AV人无码综合在线观看| 久久国产亚洲电影天堂| 老司机亚洲精品影院| 亚洲精品人成电影网| 亚洲免费视频网站| 亚洲免费二区三区| 2017亚洲男人天堂一| 亚洲第一综合天堂另类专 | 成人黄18免费视频| 国产又黄又爽又猛的免费视频播放| 国产精品无码一区二区三区免费 | 亚洲日韩精品国产3区| 美女被吸屁股免费网站| 视频免费在线观看| 在线观看AV片永久免费| 伊人婷婷综合缴情亚洲五月| 亚洲国产精品热久久| 亚洲JIZZJIZZ妇女| 免费黄网站在线看| 成人黄动漫画免费网站视频 | 久久国产免费观看精品| 好男人视频在线观看免费看片| 国产成人精品亚洲精品| 亚洲人av高清无码| 免费毛片在线看不用播放器| 在免费jizzjizz在线播|