- 浏览: 194090 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
zm8859001:
不错,我也遇到这样的问题了!autoLoad,加载后总是出现页 ...
ExtJS中新增tabpanel加载其它完整页面(viewport布局中) -
辉煌之至:
不会啊,求
ExtJS+S2SH:使用Grid加载后台数据并分页(推荐给新学的朋友) -
chenglnb:
还不错 要是能实现复选框的选定就好了
ExtJS+S2SH:使用Grid加载后台数据并分页(推荐给新学的朋友) -
keylab:
运行你这个例子,发现有 bug啊,不能还原等等的
ExtJS之图片浏览器(转载推荐) -
bcwt:
高手啊,正好遇到这个问题,谢谢!
Class org.apache.struts2.json.JSONWriter can not access a member of *
我有个想法,就是把在编程过程中的所遇到的Exception都收集起来,这样可以渐渐的减少,或者不在重复遇到这样的异常,或者在以后遇到是也可以立刻回忆起来产生这种异常的原因,以便快速解决。
我自己收集了一些,包括解决的方法,可能有的异常是很低级的,但是发生的场景有可能不一样。总之,一点一点积累吧,一方面提高自己,另一方面也希望我遇到的这些异常,也能帮助大家尽快解决问题。这就是我的目的。如果有不合理的解决方法,也希望大家给我指证。
当然,大家也可以把自己的异常也加进来,这样就是一个异常处理集合啦,毕竟一个人的力量是有限的,大家一起努力吧!
先贴一点异常,希望能起到抛砖引玉的作用。有些问题比较低级,但也是提醒自己不要再犯这样低级的错误!
1.
org.hibernate.PropertyValueException: not-null property references a null or transient value: netctoss.entity.Users.loginName
字面意思:一个不允许为Null的属性引用了一个为Null的或者无效的值。
原因:在***.hbm.xml中的
<property name="ProjPortfolioID" column="ProjPortfolioID"
type="big_decimal" not-null="true" length="10" />
中,not-null="true",这说明属性ProjPortfolioID 不允许为空,而在ActionForm中未给他赋值,则就为空,所以就会报错!
就是插数据的时候把相关联的对象new好
RightsAddForm rf = (RightsAddForm) form;
Rights right = rf.getRight();
Modules modules = new Modules();
modules.setName(rf.getModules());
Operations operations = new Operations();
operations.setName(rf.getOperations());
right.setModules(modules);
right.setOperations(operations);
rightsBiz.addRight(right);
return mapping.findForward("next");
2.
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'users0_.enrolldate' in 'field list'
这是由于字段名字命名不统一
3.
edit 时,读不到form中的数据 <html:text property="pricings.name" /> 后面不可添加 value 属性,因为首先回去查找该属性。
4.
java.lang.NullPointerException
at netctoss.action.UserServicesAction.list(UserServicesAction.java:28)
通过join fetch 查找
配置文件
spring beans : dao, biz
actions: path
struts action
5.
Cannot find bean: "org.apache.struts.taglib.html.BEAN" in any scope
option 要加标签 <html:option>
6.org.apache.jasper.JasperException: /user/bussupdate.jsp(141,6) Attribute selected invalid for tag option according to TLD
标签错误
7.
17:16:39,563 ERROR AbstractFlushingEventListener:301 - Could not synchronize database state with session
org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: netctoss.entity.Users
8.
java.lang.IllegalArgumentException: No bean specified
表单ActionForm 读取错误
在edit时,因为 userServices对象 修改时,要通过两个属性来表达
poperty 是为保存修改时来用的,因为他有两个外键ID,
而显示在页面上要用request.setAttribute() 方法传到页面上,用EL表达式来显示
9.
javax.servlet.jsp.JspException: Getter for property userServices.price.name threw exception:
org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed
继承自泛型的findByPK() 方法,没有join fetch
要重载该方法
10.
javax.el.PropertyNotFoundException: Property 'id' not found on type java.lang.String
因为<c:ForEach item="${}">
11.
Ajax 编程
要有Action , 和 Javascript
选中用户后,资费列表会显示此用户没有开通的服务资费
//查找当前用户已经存在的服务资费
//将已存在的服务资费从列表中去除后再显示到页面上
12.
查询,删除cascade
13.
javax.servlet.ServletException: java.lang.ClassCastException:
netctoss.form.UserServicesCriteriaForm cannot be cast to netctoss.form.UsersCriteriaForm
路径设置问题
14.
ava.lang.NullPointerException
at netctoss.dao.impl.UserServicesDaoHibernateImpl.selectByCriteria(UserServicesDaoHibernateImpl.java:53)
是由于hql中
hql.append("select s from UserServices s join fetch s.user u ");
hql.append("where 1=1 ");
if(criteria.getUserName().trim()!=null && !criteria.getUserName().equals("")){
hql.append("and u.name=:name ");
}
if(criteria.getUserServiceLoginName().trim()!=null && !criteria.getUserServiceLoginName().equals("")){
hql.append("and s.loginName=:loginName ");
s 和 u 混淆了
15.
description The requested resource (/userServices/search/update) is not available.
查询表单没加html:标签,由此可见,这个错误信息不一定是路径配置问题
16.
org.hibernate.hql.ast.QuerySyntaxException: unexpected token:
from near line 1, column 10 [delete s from netctoss.entity.UserServices s where s.user.id=:id]
hql语句有错:delete 后面 不能加 别名
17.
java.lang.NumberFormatException: For input string: "user"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
forward 页面错误
18.
13:27:53,587 ERROR ContextLoader:215 - Context initialization failed
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'selectDao' defined in file [C:\tomcat6\webapps\netctoss_01\WEB-INF\classes\applicationContext-beans.xml]:
Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException:
Invalid property 'sessionFactory' of bean class [netctoss.dao.impl.SelectDaoJdbcImpl]:
Bean property 'sessionFactory' is not writable or has an invalid setter method.
Does the parameter type of the setter match the return type of the getter?
这是由于selectDao extends JdbcDaoSupport
要用JDBCTemplate设置,将其注入到dao,再到biz
19.
avax.servlet.ServletException: Request[/account/acctyear] does not contain handler parameter named 'listYear'.
This may be caused by whitespace in the label text.
是由于action 继承了DispatchAction,
配置文件还是用MappingDispatchAction来配置的
如果要用action 继承了DispatchAction, 必须在jsp页面上action="/account.do? 后面加上method=listYear"
20.
column "duration" not found
原因:
String sql = "select labip, duration/(60*60*1000) duration from detailyears";
要加别名,否则会认为 duration/(60*60*1000) 为字段名
21.
java.sql.SQLException: Column 'logouttime' not found.
因为两个查询都用了同一个RowMapper, 要保证每一个查询语句都要查处logouttime字段
22.
查询语句中,关于时间的查询中
select labip, sum(duration/(60*60*1000)) duration from detailyears where logouttime >='2008-01-01 00:00:00' and logouttime <='2008-12-31 00:00:00' group by labip
时间要加‘’,否则会有语法错误
labip 192.168.0.21 也要加引号
23.
javax.servlet.ServletException:
Request[/account] does not contain handler parameter named 'method'. This may be caused by whitespace in the label text.
如果要用action 继承了DispatchAction, 必须在jsp页面上action="/account.do? 后面加上method=listYear"
24.****
页面上删除记录后,数据库里数据还在,没有持久化
这是因为系统中既要用到Hibernate,也要用到jdbc,
但是他们没有使用同一个数据源(实际都是同一个数据库,但是打开了两次),因此数据无法持久化,
必须共享同一个数据源,但是事务管理器可以分开
25.
org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed
search() 方法中 没有添加 fetech
26.账单查询
select u.name accountName, u.loginName accountLoginName, d.duration, p.basefee
from users u, userservices s , detailyears_2008 d, pricings p
where u.id=s.userid
and p.id=s.priceid
and d.loginname = s.loginname
and u.name="zw"
and month(d.logouttime)=4;
=======================================================
select s.loginName reckonLoginName, d.duration, d.logouttime logintime, p.basefee, p.ratefee, p.name
from users u, userservices s , detailmonths_4 d, pricings p
where u.id=s.userid
and p.id=s.priceid
and d.loginname = s.loginname
and u.name="zw"
and year(d.logouttime)=2008;
select s.loginName reckonLoginName, d.duration, d.logouttime logintime, p.basefee, p.ratefee, p.name
from users u, userservices s , detailmonths_4 d, pricings p
where u.id=s.userid
and p.id=s.priceid
and d.loginname = s.loginname
and u.name='zhongwei' and year(d.logouttime)=2008
27.
javax.servlet.ServletException: Request[/reckon] does not contain handler parameter named 'method'.
This may be caused by whitespace in the label text.
28.
java.lang.NumberFormatException: For input string: "accountName"
属性名错误
29.
分页: 通过一个static 变量保存当前页,和list 效果不一定好
30.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
PricingsForm pricingsForm = (PricingsForm) form;
String name = pricingsForm.getPricings().getName();
<tr>
<td align="right" valign="top">资费名称:</td>
td align="left" valign="top"><input type="text" name="pricings.name" value="" style="WIDTH:170px" onblur="validate()"></td>
</tr>
通过Javascript 来获得标签的值,在URL上加上一个参数传到Action中
var name = document.getElementById("name").value;
var requestURL = "${pageContext.request.contextPath}/fee/validate.do?name="+name;
31.
采用struts2 + spring + hibernate
32.
请教一个问题,
我现在要在页面上用<c:forEach>标签显示一系列的 checkbox,这是对数据表单的修改,我要先将这些数据显示在页面上,然后修改后再提交保存
<c:forEach items="${objects}" var="object">
<input type="checkbox" id="objectName" name="objectName" value="${object.id}" checked="checked">
${object.name }|${object.description }
</forEach>
我这些数据都是从数据库查出来的,如何显示哪个checkbox 已经被选中了?
33.
javax.servlet.jsp.JspException: Cannot find bean: "roles.rolerights" in any scope
34.
org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of netctoss.entity.Rights.rolerights
35.
Hibernate中常见问题 No row with the given identifier exists问题的原因及解决
有两张表,table1和table2.产生此问题的原因就是table1里做了关联<one-to-one>或者<many-to-one unique="true">(特殊的多对一映射,实际就是一对一)来关联table2.
当hibernate查找的时候,table2里的数据没有与table1相匹配的,这样就会报No row with the given identifier exists这个错.(一句话,就是数据的问题!)
假如说,table1里有自身的主键id1,还有table2的主键id2,这两个字段. 如果hibenrate设置的单项关联,即使table1中的id2为null值,table2中id2中有值,查询都不会出错.
但是如果table1中的id2字段有值,但是这个值在table2中主键值里并没有,就会报上面的错!
如果hibernate是双向关联,那么table1中的id2为null值,但是table2中如果有值,就会报这个错.这种情况目前的解决办法就是改成单项关联,或者把不对应的数据改对!
36.
Tomcat中设置远程debug方法
何为远程调试?我们一般调试一个web项目的java代码时,需要将你的tomcat服务器和你的开发工具(比如Jbuilder)集成,或需要工具的一些插件支持(比如Eclipse下的myclipse等),这些方式都是在本地进行,即你的开发工具和tomcat运行在同一台服务器上,如果你的开发工具和服务器不再一台机器上那就需要实现远程调试功能了。
实现方法:
在tomcat的catalina.bat文件中加入下面的设置,当然SET CATALINA_OPTS 变量应该在使用它之前。这是在tomcat启动时设置一些虚拟机参数,使服务器允许远程连接功能,address=5888表示远程连接的端口号,可以设置成任意其他不冲突端口。其他的应用服务器比如weblogic也应该可以设置这些参数,有兴趣的可以测试。
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888
这样就Ok了,重启动tomcat,可以直接独立启动,而不用在eclipes的插件中启动。打开eclipse中的debug设置窗口,选择Remote Java Application ,新建一个debug项,输入服务器IP和刚才设置端口号,点ok就可以进入debug状态了。Jbuilder中同样可以设置Remote Java Application。
37.
在授权与认证模块中
一个用户会有多个角色,当一个用户所拥有的两个角色中的权限有冲突时(即一个角色为不允许,而另一个为允许),则根据角色的优先级来确定何种权限。
38.
OA
1.组织机构
39.
java.lang.SecurityException: class "junit.framework.JUnit4TestCaseFacade"'s signer information does not match signer information of other classes in the same package
解决方法是在java build path的order and export中把junit调整到比较靠前位置。
40.
org.hibernate.HibernateException: No CurrentSessionContext configured!
我们使用如下代码获取Session:
sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.getCurrentSession();
使用getCurrentSession 不对;应该使用openSession
参考hibernate api doc 对 openSession 和 getCurrentSession 的说明
41.
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'orgManager' is defined
42.
出现的问题解决:
问题1:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.springframework.util.ClassUtils.<clinit>(ClassUtils.java:67) at org.springframework.core.io.DefaultResourceLoader.<init>(DefaultResourceLoader.java:52) at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:184) at org.springframework.context.support.AbstractRefreshableApplicationContext.<init>(AbstractRefreshableApplicationContext.java:80) at org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:58) at
需要加上:commons-logging.jar log4j-1.2.11.jar
问题2:Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [text.xml]; nested exception is java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException
Caused by: java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException
at java.lang.Class.forName0(Native Method)
需要加上:aspectjweaver.jar
问题3:Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'logBean' defined in class path resource [text.xml]: Initialization of bean failed; nested exception is org.springframework.aop.framework.AopConfigException: Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the class path or specify proxy interfaces.
Caused by: org.springframework.aop.framework.AopConfigException: Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the class path or specify proxy interfaces.
需要加上:cglib-2.1.3.jar
问题4:xception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'logBean' defined in class path resource [text.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/objectweb/asm/Type
Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/Type
at net.sf.cglib.core.TypeUtils.parseType(TypeUtils.java:180)
需要加上:asm.jar
转载:http://pengchua.javaeye.com/blog/142879
问题5: CGLIB Enhancement failed: com.bowen.domain.Schools
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
at net.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77)
at net.sf.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:173)
at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
解决:由于不同版本让我想到了可能会因为其它三方包是不同版本引起的最新的MyEclipse,所以里面的Hibernate也是最新的3.1(它里面还带有一个3.0版本的)
删除 多余的包 Hibernate3.1现象2:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in resource [/WEB-INF/dataAccessContext-hibernate.xml] of ServletContext: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
原因:缺少jta.jar
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
现象3:
java.lang.NoClassDefFoundError: org/dom4j/Attribute
缺dom4j.jar
java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
缺ehcache.jar
java.lang.NoClassDefFoundError: net/sf/cglib/core/KeyFactory
缺cglib-full.jar
43.
<a href="#" onClick="openWin('document.do?method=addInput','470')">
44.
<input type="hidden" name="method" value="add">
<input type="hidden" name="parentId" value="${orgForm.parentId}">
45.
参数化测试要点:
|.测试类必须由Parameterized测试运行器修饰
|.准备数据。数据的准备需要在一个方法中进行,该方法需要满足一定的要求:
|.. 该方法必须由Pamameters注解修饰
|.. 该方法必须为public static
|.. 该方法必须返回Collection类型
|.. 该方法的名字不作要求
|.. 该方法没有参数
转自:http://blog.csdn.net/kekenow/category/601786.aspx
发表评论
-
struts.xml配置中的allowedTypes有哪些(文件上传)
2011-05-31 14:34 1381---------------------------- ... -
struts2返回值问题(需要返回自定义值)
2011-03-26 14:10 3656struts2返回自定义的值除了去掉get方法,还可以通过自定 ... -
如何创建和清空session的方法
2011-03-25 13:30 2117创建session: ActionContext ... -
Hibernate HQL查询 插入 更新 删除等实例
2011-03-14 08:56 40831、实体查询:有关实体查询技术,其实我们在先前已经有多次涉及, ... -
Class org.apache.struts2.json.JSONWriter can not access a member of *
2011-03-11 21:21 1578异常形式: Class org.apache.strut ... -
struts2.1.6中关于JSON的配置和使用
2010-12-21 20:29 842JSON的优点众所周知,在此不作叙述. JSON在AJAX的应 ... -
整合struts2,jquery,json。采用jquery ajax,从struts2 action返回json类型数据(转)
2010-12-21 20:25 1886本文开发环境是SSH2,ajax插件使用jQuery 1. ...
相关推荐
常见的Exception包括: - `ArithmeticException`:当发生算术运算异常时抛出,例如除以零。 - `NullPointerException`:当试图访问或操作一个null引用的对象时抛出。 - `ClassCastException`:在进行强制类型转换...
为了更好地理解和处理这些异常,本文将对部分Java开发中常见的异常进行详细的整理和归纳,帮助开发者掌握异常处理的基本技巧。 ### 1. 算术异常类:`ArithmeticException` 当执行算术运算时出现错误(如除以零)时...
【AIX常见问题整理】 AIX,全称Advanced Interactive eXecutive,是IBM开发的一种UNIX操作系统,广泛应用于IBM Power Systems服务器。以下是一系列AIX系统管理、故障排查和优化的相关知识点: 1. **Firmware升级**...
本文主要针对喷墨打印机、激光打印机和针式打印机的常见故障进行整理,旨在帮助用户自我诊断和解决问题。 1. 打印机电源故障:首先检查打印机是否正常接通电源,电源指示灯是否亮起。如果电源线连接不可靠或电源...
该描述中提到的"qqwry.dat"是一个常见的纯真IP数据库文件格式,它存储了大量IP地址及其对应的城市、国家等地理信息。这个文件通常是二进制格式,通过特定的解析方式才能读取和使用其中的数据。纯真IP整理器的作用...
### JSP考试面试常见考点详解 #### 一、Servlet与CGI的区别 Servlet与CGI(Common Gateway Interface)作为两种不同的Web应用程序技术,在处理客户端请求的方式上有显著差异。 **Servlet**: - **基于Java**:...
设计时需考虑各种输入条件、边界情况、异常处理和预期结果,确保测试用例能够覆盖所有可能的执行路径。 5. 不同测试类型的比较 黑盒测试不考虑内部结构,关注功能实现;白盒测试深入代码层面;单元测试针对单一功能...
以下是一些在面试中常见的测试工程师相关问题及其详细解答: 1. 为什么要在一个团队中开展软件测试工作? 软件测试是为了确保产品的功能正确性、性能、兼容性、安全性等满足用户需求,发现并修复潜在的问题,防止...
文件编码是计算机存储和显示字符的方式,常见的有ASCII、Unicode(包括UTF-8、UTF-16等)以及GBK等。ASCII是最基础的编码,只包含128个英文字符;GBK是中国大陆广泛使用的编码,包含了大部分中文字符;而Unicode则是...
首先,从“知乎数据_201701.csv”这个文件名我们可以推断,这是2017年1月份知乎平台的部分数据记录,存储为CSV格式,这是一种常见的结构化数据文件格式,便于数据分析。CSV文件通常包含列标题和行数据,每一行代表一...
本篇文章将根据提供的标题"常见C++笔试题整理(含答案)"及描述"很好的C++笔试,对找工作的孩纸们面试很有帮助的。"来深入探讨C++笔试中常见的知识点。 1. **基础语法**:C++的基础包括变量、数据类型、运算符、...
文档"服务异常问题整理与方案说明v1.0.docx"中详细列举了生产环境中常见的服务器异常问题及其解决方案,主要涉及服务优化和运维管理。以下是对这些问题的深入解析: 1. **EC2实例buff/cache过高**:当服务器的buff/...
### VC++常见问题详解 #### 1. 类在工作区间突然消失 问题描述:在VC++开发环境中,可能遇到某类在工作区界面突然不可见的情况。 解决方案:此类情况通常是由于类被隐藏导致的。解决办法是打开FILEVIEW,找到隐藏...
12. **异常处理**:虽然例子中没有显示,但在实际编程中,处理用户输入和数据验证时会经常用到异常处理,例如防止非数字输入。 通过这些练习,学习者可以掌握Python的基本语法,数据类型,控制流,函数调用,以及...
常见的电子商务数据分析方法包括趋势分析、细分分析、关联分析、异常检测和 A/B 测试等。 四、结论 在电子商务时代,信息的收集、整理和分析对于企业决策和运营至关重要。通过有效收集和整理电子商务信息,企业...
2. **异常处理**:了解异常分类,如何正确使用try-catch-finally语句块,以及finally块的重要性。 3. **面向对象**:深入理解类、对象、继承、封装、多态的概念及其应用。 4. **集合框架**:掌握ArrayList、...
音频转换MP3格式工具是一款专为用户设计的实用软件,主要功能是将各种不同类型的音频文件转换成...无论你是想整理个人音乐库,还是为了方便在不同设备上播放,这款工具都能帮助你轻松完成任务,享受高品质的音乐体验。
**JMS基础知识整理** JMS(Java Message Service)是Java平台中用于企业级应用间进行异步消息传递的一种标准API。它提供了一种统一的消息接口,使得开发人员可以在不同的消息中间件之间进行选择,而无需关心底层...
数据收集可以通过多种方式实现,常见的有问卷调查、观察法、实验法、访谈法等。在这个案例中,使用的是问卷调查,通过勾选的方式收集信息。这种收集方法简单、快捷且易于量化,适合大规模的数据收集。 在整理数据时...