第一个小异常的信息如下:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
Unable to instantiate Action, saleCodeApplyAction, defined for 'findSaleCode' in namespace '/'Error creating bean with name 'saleCodeApplyAction' defined in file [C:\apache-tomcat-6.0\webapps\acode\WEB-INF\classes\springconf\agent\saleCodeApply-service.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'com.ca.agent.model.SaleCodeApply' to required type 'com.ca.agent.model.mybatis.SaleCodeApply' for property 'saleCodeApply'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [com.ca.agent.model.SaleCodeApply] to required type [com.ca.agent.model.mybatis.SaleCodeApply] for property 'saleCodeApply': no matching editors or conversion strategy found com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:319) com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:400) com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:194) org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63) org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39) com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58) org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:500) org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) com.frame.action.ChineseFilter.doFilter(ChineseFilter.java:61)
对于此异常,根据其提示信息便易知其引起的原因,实例化saleCodeApplyAction对象时时发现配置文件中的配置的属性类,和对应的类文件中声明的类型不匹配,修改成一致的问题即可解决!
第二个小异常的信息如下:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for SaleCodeApplyMapper.getCountByPage1 ### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for SaleCodeApplyMapper.getCountByPage1 org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73) org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:360) $Proxy9.selectOne(Unknown Source) 对于此异常,根据其提示信息也易知其引起的原因,映射语句集合不包含值salecodeapplymapper.getcountbypage1,根据MyBatis框架的特点,限定位对应的命名空间在定位对应的SQL语句的ID,很容易发现对应的命名空间不对,将对应的JAVA类文件中的和XML与数据库交互的文件中的命名空间修改成一致的即可,建议全部使用自动生成的!
这两个异常相对而言是非常容易解决的,不过关键我觉得是思考的过程!在最早的时候自己面对一大串看不到头的异常不知如何处理,现在好多了!
我的思路一般如下:
1:首先从头到尾看一下异常信息,如果是以前见过的,基本上便能一下子定位到问题所在的位置,修正一下便可
2:如果是自己没有遇到过的,我通常会根据异常的提示信息来解决一下,有的异常,提示信息定位的比较准确也能帮助自己很快的将问题解决
3:如果从提示信息中没有找到对应的有效信息,我们肯能多会想到百度和谷歌两位老师了,基本上他能提供比较好的解决方案,当然有的也是找不到对应的解决方案的,不过基本上没问题
4:查看对应的API分析对应的异常引起的原因,看看是否能够找到对应的解决方案,这种方式很扩展自己的能力,能获得更多新的知识
5:最后还是没搞定的话,就只能麻烦一下身边的其他同事了,因为我有过几次这样的经历,问题比较简单的自己愣是定位不到,因为自己认为那里不会出问题!不过在团队开发中引起问题的原因比较多,也许你没有在那个你认为安全的地方引出问题,不过不能保证其他的组员不会的,所以当能定位到问题的类型及原因就是定位不到问题时,最好看看那些自认为不会出问题的地方或者从头到尾在重新定位一次,包括那些你认为安全的地方!当然,请同事帮忙的另外一个原因是,自己本身也许在此时会忽略一些什么的,这个自己也许都不知道,需要他人提醒的!
6:请一位同事如果还是搞不定,最好在找找另外的同事,当然相对级别应该更高一点,当然,网络上的论坛,专业的技术群也是非常好的问处!或者重来,换换其他的方式,不过这种情况是很少的啦!
7:买专业的书籍补上自己薄弱的环节,并从书中需找灵感与解决方案,以备不时之需和充实自己的整体实力!
嗯,上面是我解决异常或其他问题的一般思路,多数情况走到第三步就能搞定了!当然,若想进阶的话,最好主动的思考和独立的将问题解决并且做出对应的总结和帮助别人解决一些自己从来都没遇到过的问题!
鉴于水平有限难保不会出现错漏之处,如果你觉得那里有错误,请点击一下“反对”按钮,并希望您提出宝贵的修改意见,您的宝贵意见将是我们进步的一大源泉!
如果您觉得阅读上文对您有所帮助,请轻点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!