一.保存重复时的错误提示(因为是主键,不可以重复保存)
Caused by: java.sql.BatchUpdateException: Duplicate entry '2012004' for key 'PRIMARY'
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1693)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1108)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
... 9 more
二.Java异常 - 错误查找
1 - java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
添加包common-logging.jar
2 - java.lang.ClassNotFoundException: javax.transaction.Synchronization
添加包jta.jar(hiberante)
3 - java.lang.ClassNotFoundException: org.dom4j.DocumentException
添加包dom4j-1.6.1.jar
4 - java.lang.ClassNotFoundException: org.apache.commons.collections.SequencedHashMap
添加包commons-collections.jar
5 - java.lang.ClassNotFoundException: net.sf.cglib.proxy.CallbackFilter
java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter
添加包cglib-2.1.3.jar
6 - java.lang.ClassNotFoundException: org.objectweb.asm.Type
添加包asm.jar
7 - java.lang.ClassNotFoundException: antlr.ANTLRException
添加包antlr.jar
8 - java.lang.ClassNotFoundException: net.sf.ehcache.CacheException
添加包ehcache-1.2.3.jar
三。错误
org.apache.jasper.JasperException: tag 'select', field 'list', name 'film.filmType.tid': The requested list key '#attr.type' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
root cause
tag 'select', field 'list', name 'film.filmType.tid': The requested list key '#attr.type' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
org.apache.struts2.components.Component.fieldError(Component.java:237)
org.apache.struts2.components.Component.findValue(Component.java:358)
org.apache.struts2.components.ListUIBean.evaluateExtraParams(ListUIBean.java:80)
org.apache.struts2.components.Select.evaluateExtraParams(Select.java:105)
org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:856)
org.apache.struts2.components.UIBean.end(UIBean.java:510)
org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
org.apache.jsp.Fadd_jsp._jspx_meth_s_005fselect_005f0(Fadd_jsp.java:275)
org.apache.jsp.Fadd_jsp._jspService(Fadd_jsp.java:125)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
解决办法:在structs中未配置与其对应的jsp页面
9.java.lang.NumberFormatException: null原因
编码的时候出现了java.lang.NumberFormatException: null,at java.lang.Integer.parseInt(Integer.java:415)at java.lang.Integer.valueOf(Integer.java:553)。刚开始还一直以为我类型转换错误呢。原来,不够细心,在传递url值的时候忘了传递参数,或者传递错误,这样当然获取到的值为null。比如:本来url为http://……&state=1,那么传递的一个参数为state=1,获取这个参数的时候应为int state = Integer.parseInt(request.getParameter("state")).这样就不会报错,但是如果忘了在地址栏传递参数state=1,那么,也会出现java.lang.NumberFormatException: null…………的错误。
所以java.lang.NumberFormatException错误不一定是类型转换错误,也有可能是因为获取不到参数而产生的错误