ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品一偷一偷国产,亚洲国产美女,x88av蜜桃臀一区二区http://www.aygfsteel.com/davbin/zh-cnThu, 24 Jul 2025 22:32:10 GMTThu, 24 Jul 2025 22:32:10 GMT60JAVA错误处理大集å?(è½?http://www.aygfsteel.com/davbin/archive/2008/03/07/184576.html帕夏帕夏Fri, 07 Mar 2008 10:26:00 GMThttp://www.aygfsteel.com/davbin/archive/2008/03/07/184576.htmlhttp://www.aygfsteel.com/davbin/comments/184576.htmlhttp://www.aygfsteel.com/davbin/archive/2008/03/07/184576.html#Feedback0http://www.aygfsteel.com/davbin/comments/commentRss/184576.htmlhttp://www.aygfsteel.com/davbin/services/trackbacks/184576.html0ã€?需要标识符
a) 不在函数�br /> 1�非法表达式开�br /> b) 可能:丢失括号 .
2. no data found
a) 可能:setInt(1,100)ä¸?没有100˜q™ä¸ªå€?br /> 3. 找不到符å?br /> a) 可能:没导入包
4. 指定了无效URL
a) 可能:数据库名或IP错误,卌™¿žæŽ¥å‡ºé”?br /> 5. ¾c»èµ\径没有找åˆ?br /> a) 可能: ClassNotFoundException: oracle.jdbc.driver.OracleDriver
b) 原因: 一般是指包名写é”?或者没有importåŒ?或者没有在¾c»èµ\径中扑ֈ°jaræ–‡äšg
c) 解决: 没有加蝲Oracle驱动jar,åœ?bash_profile中把ojdbc14.jar加进æ?br /> 6. ½IºæŒ‡é’ˆå¼‚å¸?br /> a) 可能: 数据源错è¯?比如数据库名或IP错误
7. 不能执行查询
a) 可能: 数据库中表的问题,比如列名不存�br /> 8. invalid identity
a) 可能: 列名出错
9. 若在数据库中创徏äº?两个sequence ,˜qè¡Œæ—¶å‡ºçŽ°å¼‚å¸¸å¯èƒ½æ˜¯å…ˆåŽæ‰§è¡Œäº†å¤š‹Æ¡select语句,坯D‡´ä¸ŽåŽŸæœ‰çš„åºåˆ—å·äñ”生冲½H?br /> 10. 表名或列名不存在
a) 可能:表不存在或者没有插入数据到表中
11. 不支持的¾c?¾cȝš„版本错误
a) 可能:没有导入jdk5.0,æˆ–è€…ç¼–è¯‘å™¨ä»äØ“1.4
12. MappingNotFoundException
a) Maybe: In the Eclipse Not refersh , or not exist in the dirctory
13. HibernateException: /hibernate.cfg.xml not found
a) Maybe1: hibernate.cfg.xml not in the root directory
b) Maybe2: Could not parse configuration .
c) resolve: database not connect or use another database
14. ConstraintViolationException
a) Maybe: used a not true database
15. 驱动没有扑ֈ° 或è€?JDBC Driver not found
可能åQšè¿žæŽ¥æ•°æ®åº“的驱动jar包不存在或者版本不一è‡ß_¼Œæ¯”如ž®†æ—§çš„版本换成新的会造成该类错误
16. ½IºæŒ‡é’ˆå¼‚å¸?åQ?java.lang.NullPointerException 
a) 可能1åQšæ•°æ®åº“˜qžæŽ¥å‡ºé”™åQŒæ¯”如在hibernate.cfg.xml中的数据错误会导致异常ã€?br /> 17. 数据插入异常 åQŒGenericJDBCException: could not insert
a) 可能1åQšæ²¡æœ‰å¾ç«‹è¡¨æˆ–è€…è¡¨ä¸­æ²¡æœ‰ä“Q何数æ?br /> b) 可能2åQšæ’å…¥æ•°æ®åŽæ²¡æœ‰æ‰§è¡Œæäº¤è¯­å¥åQšcommit
18. LazyInitializationException 或者åšg˜qŸåŠ è½½å¼‚å¸?br /> a) 可能1åQšæ²¡æœ‰åœ¨æŸ¥è¯¢è¯­å¥ä¸­åŠ fetch
19. IdentifierGenerationException
a) 可能1åQšé«˜ä½è¡¨æ²¡æœ‰åˆå§‹åŒ–(比如hi_value中没有记å½?
20. could not initialize a collection: [hibernate.entity.Role.modules#32768] Syntax error: Encountered "-" at line 1, column 132.
a) 错误原因åQ?lt;set name="modules" table="module-role" lazy="false">¾U¢è‰²å­—部分中“-”为非法字½W¦ï¼Œæ›¿æ¢ä¸ºmodule_role
21. could not insert collection rows: [hibernate.entity.Module.roles#1]
 åœ¨Module.hbm.xmlæ–‡äšg的如下配¾|®ä¸­åŠ å…¥inverse=”true”
<set name="roles" table="module_role" inverse="true">

22åQŽåœ¨éƒ¨çÖvStrutsæ—Óž¼Œå‡ºçŽ°å¦‚ä¸‹é”™è¯¯ä¿¡æ¯åQ?br /> HTTP Status 404 - Servlet action is not available
 
type Status report
message Servlet action is not available
description The requested resource (Servlet action is not available) is not available.
问题原因åQ?br /> 1.、web.xmlæ–‡äšg中未配置ActionServletã€?br /> 2、struts-config.xmlæ–‡äšg未配¾|®ä½ è¦è®¿é—®çš„Actionã€?br /> 3、你的jspæ–‡äšgform标记中action属性的路径名称错误ã€?br /> 4、非以上三种情况ã€?br /> 针对以上4¿Uæƒ…å†ëŠ›¸åº”的解决æ–ÒŽ¡ˆå¦‚下åQ?br /> 1、在web.xmlæ–‡äšg中加上ActionServlet的配¾|®ä¿¡æ?br /> ?????? /WEB-INF/struts-config.xml?
?2、在struts-config.xmlæ–‡äšg‹‚€æŸ¥ä½ è¦è®¿é—®çš„Action配置文äšgã€?br /> 3、检查jspæ–‡äšgform标记中action属性的路径名称是否与struts-config.xmlæ–‡äšg中action标记的path属性的路径名称一致ã€?br /> 4、非以上情况的解军_Šžæ³•å°±æ˜¯æ£€æŸ¥web容器的log日志åQŒå¦‚果时tomcat则检查下logs目录下的localhost_logæ–‡äšgåQŒçœ‹é‡Œè¾¹æ˜¯å¦è®°å½•有错误信息,然后æ ÒŽ®é”™è¯¯ä¿¡æ¯æç¤ºž®†å…¶¾U æ­£ã€?/p>

23åQŽjava.lang.NoClassDefFoundError: org/apache/commons/beanutils/Converter
¾~ºå°‘spring-framework-2.0.3\lib\jakarta-commons\commons-beanutils.jar
24.
ava 代码Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/Type  
¾~ºå°‘spring-framework-2.0.3\lib\asm\asm-2.2.2.jaråŒ?版本不同,该包的名字有相应的区åˆ?/p>

java 代码Caused by: java.lang.NoClassDefFoundError: org/dom4j/DocumentException  
¾~ºå°‘spring-framework-2.0.3\lib\dom4j\dom4j-1.6.1.jaråŒ?版本不同,该包的名字有相应的区åˆ?br /> 把这个包˜q›åŽ»ž®±å¯ä»¥äº†åQš\Spring206\lib\dom4j、dom4j-1.6.1.jar

java 代码Caused by: java.lang.NoClassDefFoundError: org/apache/commons/collections/SequencedHashMap  
¾~ºå°‘spring-framework-2.0.3\lib\jakarta-commons\commons-collections.jaråŒ?版本不同,该包的名字有相应的区åˆ?/p>

java 代码Caused by: java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter  
¾~ºå°‘spring-framework-2.0.3\lib\cglib\cglib-nodep-2.1_3.jaråŒ?版本不同,该包的名字有相应的区åˆ?/p>

java 代码Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor  
¾~ºå°‘hibernate-3.2\lib\asm.jaråŒ?版本不同,该包的名字有相应的区åˆ?

java 代码
org.hibernate.exception.SQLGrammarException: could not load an entity: [www.proudsoul.xml.User#1] 
JAVA工程与WEB工程包的区别:一个是asm.jar,一个是jta.jar

java 代码Caused by: java.lang.NoClassDefFoundError: javax/transaction/TransactionManager  
¾~ºå°‘spring-framework-2.0.3\lib\j2ee\jta.jaråŒ?版本不同,该包的名字有相应的区别此¿Ué”™è¯¯è¯·‹‚€æŸ¥ç›¸åº”çš„***.hbm.xml配置文äšg的配¾|?/p>

25,
Exception in thread "main" org.springframework.dao.InvalidDataAccessResourceUsageException: could not get next sequence value; nested exception is org.hibernate.exception.SQLGrammarException: could not get next sequence value
Caused by: org.hibernate.exception.SQLGrammarException: could not get next sequence value
原因åQšæ²¡æœ‰åŠ Sequence或者数据库的方­a€å†™é”™äº?/p>

26,
我的配置文äšg
    <id name="id" column="id">
            <generator class="native" />
        </id>
然后我运行保存一条数据进�br /> The database returned no natively generated identity value
ž®×ƒ¼šæŠ¥è¿™ä¸ªé”™è¯?br /> 因䨓你native是根据看底层数据库的能力选择identity, sequence 或者hilo中的一ä¸?br /> è€Œæˆ‘å»ø™¡¨çš„æ—¶å€™id没有指定
alter table `student` change `id` `id` int auto_increment
我们把我们的表的¾l“æž„ž®å°çš„æ”¹åŠ¨ä¸€ä¸‹å°±æ²¡é—®é¢˜äº†

27,
UpdateManager 无法启动2007-08-09 15:21如果在应用程序安装过½E‹ä¸­åQŒæš´åŠ›ä¸­æ–­å®‰è£…ç¨‹åºï¼Œä¼šå‡ºçŽ°å¦‚ä¸‹çŠ¶å†µï¼š1.apt-get remove å’Œdpkg --remove 无法删除软äšg 2.UpdateManager无法启动3.æ–°ç«‹å¾—èÊY件包½Ž¡ç†½E‹åºæ— æ³•启动
以上可能是deb损坏之类造成�br /> sudo dpkg -r sqldveloper
正在è¯Õd–软äšg包列è¡?.. 完成
正在分析软äšg包的依赖关系æ ?.. 完成
E: 软äšgåŒ?sqldeveloper 需要重新安装,但是我无法找到相应的安装文äšgã€?br /> 解决æ–ÒŽ³•åQ?.ä»?/var/lib/dpkg/status 中把对应的段删掉
重要åQšä¿®æ”¹ä¹‹å‰è¯·å…ˆå¤‡ä»?br /> 在status中找åˆîC½ å¯¹åº”的包删除ž®±OKäº?..

28,
Exception in thread "main" java.lang.NoClassDefFoundError: antlr/ANTLRException
ž®‘了antlr-2.7.5H3.jaråŒ?从D:\eclipse\eclipse\plugins\com.genuitec.org.hibernate.eclipse_4.1.1\myeclipse-data\3.0\lib

29,
Caused by:
java.lang.NoClassDefFoundError: javax/transaction/Synchronization
¾~ºå°‘Spring206\lib\j2ee\jta.jar

30,
Caused by:
java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy3] to required type [business.impl.PriceBiz] for property 'priceBiz': no matching editors or conversion strategy found
在java¾cÖM¸­è®„¡½®priceBiz时应该设¾|®çš„æ˜¯æŽ¥å£PriceBizIfåQŒè€Œéžå®žçް¾c?/p>

18, 数组­‘Šç•Œ
 å¯èƒ½1: 在命令行后面需要加入参æ•?
 å¯èƒ½2:加入的参数错è¯?br /> 19, car is not mapped
 å¯èƒ½1: 在cfg.xml中没有增加映ž®„çš„hbm.xmlæ–‡äšgåœ?lt;mapping.../>ä¸?nbsp;  
20, 属性没有找åˆ?br />  å¯èƒ½1: hbm.xmlæ–‡äšg中的 <property name =""> 有问é¢? 也许是nameçš„å€ég¸Žå¯¹åº”¾cÖM¸­çš„æˆå‘˜åä¸ä¸€è‡?
21,SQLException: 无当前连æŽ?nbsp;         可能1:在比如创建帐æˆäh—¶æ²¡æœ‰å¯¹ç›¸åº”çš„æ–ÒŽ³•æ·ÕdŠ åˆ?lt;list>中去,比如˜q™ä¸ªæ²¡æœ‰åŠ å…¥:<value>newAccount</value>
 
 <bean id="transactionAdvisor" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
  <property name="advice">
   <ref bean="advice"/>
  </property>
  <property name="mappedNames">
   <list>
    <value>transfer</value>
   </list>
 </bean>
22,SQLException: Syntax error: Encountered "table" at line 1, column 8.
 å¯èƒ½1;执行SQL时出现冲½H?可能是SQL语句中ä‹É用了关键字作为变量来ç”?比如
  update order set balance=1000000;
  其中order被用作表名来使用,˜q™æ˜¯é”™è¯¯çš?因䨓order是个关键å­?用在order byä¸?/p>

23, Servlet /Spring-WebMvc threw load() exception
org.xml.sax.SAXParseException: Document root element "beans", must match DOCTYPE root "null".
 jar包的冲突,spring-1.2.6.jarå’Œspring.jar出现在一个war的目录中:JBoss/server/all/deploy/Spring-WebMvc.war/WEB-INF/lib   

24, java.sql.SQLException: 当事务仍处于‹zÕdŠ¨çŠ¶æ€æ—¶åQŒæ— æ³•关闭连接ã€?


25 ,
validateJarFile(/home/soft01/Tomcat/webapps/sms-token-struts/WEB-INF/lib/servlet-api.jar)
Servlet /sms-struts-tiles threw load() exception
java.lang.ClassNotFoundException: org.apache.struts.action.ActionServlet
原因:在WEB-INF/lib/ 目录下有servlet-api.jarä¸?Tomcat/common/lib目录下的servlet-api.jar冲突äº?把WEB-INF/lib/下的servlet-api.jar删除ž®±å¯ä»¥äº†

26,java.lang.ClassNotFoundException: org.springframework.web.struts.ContextLoaderPlugIn
Marking servlet action as unavailable
10:30:47,088 ERROR [/NetCT_OSS]:3953 - Servlet /NetCT_OSS threw load() exception
javax.servlet.UnavailableException

27,org.xml.sax.SAXParseException: Document root element "beans", must match DOCTYPE root "null".
¾~ºå°‘MyEclipse/eclipse/plugins/com.genuitec.eclipse.springframework_5.5.0/data/2.0/dist/modules/spring-struts.jar

28,Caused by: java.sql.BatchUpdateException: ORA-02291: integrity constraint (SD0702.FK82D343CF49A4B831) violated - parent key not found
Caused by: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
有可能是ID生成½{–略的问é¢?我将它XML映射文äšgæ”ÒŽˆ<generator class="increment" />ž®±å¥½äº?/p>

29,
2007-08-19 16:21:43,290 ERROR [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/OSS].[action]] - Servlet.service() for servlet action threw exception
org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [entity.Module#2]
java.util.ConcurrentModificationException
原因:已经有对象拥有了所选择的module,用clear(),而不是remove();

30,
ERROR [org.apache.catalina.session.ManagerBase] - IOException while loading persisted sessions: java.io.InvalidClassException: entity.Module; local class incompatible: stream classdesc serialVersionUID = -5988350031935445758, local class serialVersionUID = -297934247726484429
java.io.InvalidClassException: entity.Module; local class incompatible: stream classdesc serialVersionUID = -5988350031935445758, local class serialVersionUID = -297934247726484429
在Module中加上一个关键字:transient

31,
Caused by: java.sql.BatchUpdateException: ORA-02292: integrity constraint (SD0702.SYS_C00132664) violated - child record found
原因:有其他的表引用了该表的外å»?所以报˜q™ä¸ªå¼‚常,如果没有引用ž®×ƒ¸ä¼šå‡ºçŽ?/p>

32,
出现数组­‘Šç•Œçš„æ—¶å€?看看是不是åó@环时没有åŠ?,比如:
for(int i = 1; i<arr.length;i++)可以æ”ÒŽˆ
for(int i = 1; i<=arr.length;i++)

 

1.如果使用Antå’ŒJunit是被报找不到test,‹‚€æŸ¥ä¸€ä¸‹æ˜¯å¦è¯¯ç”¨äº†private
出错信息åQ?br />     <failure message="No tests found in test.AllTest" type="junit.framework.AssertionFailedError">junit.framework.AssertionFailedError: No tests found in test.AllTest
该错误有个很特别的特点,当你不通过ant来运行测试,而是通过AllTest¾cÀL¥˜qè¡Œçš„话åQŒå¯ä»¥æ­£å¸¸è¿è¡Œã€‚小心哦

2.如果遇到报:表名无效åQŒä¸”jvm报严重错误,看看是不是用了数据库的保留关键字来做表名了,如Userã€?/p>

3.使用antæ—¶å¿…™åÕd°å¿ƒantçš„classpath它用的不是IDEçš„classpathåQŒå°å¿?

4.ž®å¿ƒä¸‹è¾¹çš„异常,
exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of xp.bean.Users.?" type="net.sf.hibernate.PropertyAccessException">java.lang.ClassCastException at xp.bean.UsersMetaClass1.setPropertyValues(<generated>) at net.sf.hibernate.persister.AbstractEntityPersister.setPropertyValues
上次出现该错错误的原因是:
源文仉™‡Œæˆ‘çš„class¾cÕdž‹ä¸ÞZ¸€ä¸ªç±»Contact contact
而跑到mapping里却成了Set,呵呵厉害�/p>

5.½Hç„¶é—´å†’出大量的NullPointException
重新build一下看看先�/p>

6.="Flush during cascade is dangerous - this might occur if an object was deleted and then re-saved by cascade"

7.Tapestry的出错信息:
Class com.bookshop.Hello does not implement the IPage interface.
location: context:/WEB-INF/Home.page, line 6
原因åQšä¸Žæ˜„¡¤ºæœ‰å…³çš„哪个java¾cÀL²¡æœ‰ä»ŽIPage家族¾l§æ‰¿ã€?/p>

8.使用ant时给出的路径好象不允许出现空根{€?/p>

9. ç”׃ºŽä½¿ç”¨ant时用junit做测试的话,classpath中出现j2ee.jar的话åQŒé—®é¢˜å¤šå¤šã€‚例如xml格式的logæ–‡äšg生成不了åQŒèŽ«åå…¶å¦™çš„ NullPointException½{‰ã€‚所以我讄¡½®äº†ä¸¤ä¸ªåŒ…个包含j2ee.jaråQŒäØ“¾~–译用;一个没æœ?为junitç”?/p>

10.˜q›è¡Œå•å…ƒ‹¹‹è¯•æ—Óž¼Œåœ¨æŸ¥è¯¢è¿”回后应马上assertNotNull()åQŒè¿™æ ·å¯ä»¥æ›´å¿«é€Ÿçš„定位NullPointException

11.要ä‹É用ResourceBundle的话åQŒè¦åƒä¸‡ž®å¿ƒã€‚å¿…™åȝ”¨æ—¥å¿—记录下它的状态。还有该属性文件应该放在classes下面ã€?/p>

12. 当要昄¡¤ºä»ÖM½•™åµé¢æ—Óž¼Œéƒ½è¢«æç¤ºæ— æ•ˆåQŒé‚£ä¹ˆåº”该检查一下lib目录了,˜q˜æœ‰ä¸€äº›å¾ˆå¥‡æ€ªçš„异常åQŒä¾‹å¦‚你明明可以扑ֈ°ä¸€ä¸ªç±»ä½†æ˜¯æœåŠ¡å™¨å´æç¤º ClassNotDefExceptionåQŒé‚£ä¹ˆä¼°è®¡æ˜¯¾~ºå°‘了该¾cÀL‰€å¿…须的包了。或者多了不兼容的包åQŒå¦‚, xdoclet¾pÕdˆ—包不被strutsçš„lib目录所兼容

13.¾~–写clone时从Java¾~–程思想(2nd)上学到的(732)åQ?br /> .引数传递过½E‹ä¸­ä¼šè‡ªåЍäñ”生别å?alias)ã€?br /> .没有局域对è±?local objects)åQŒåªæœ‰å±€åŸŸæ€§çš„(local)referencesã€?br /> .reference受范å›?scope)的限åˆÓž¼Œå¯¹è±¡åˆ™å¦ã€?br /> .对象的寿命从来不是Javaçš„è®¨è®ø™®®é¢?å› äØ“æœ‰åžƒåœ‘Ö›žæ”¶æœºåˆ?

14.try catch finally的域居然是分¼›Èš„ã€?/p>

15.jspä¹Þq çš„其中一个原因:charset="gb2312" ½{‰å·"="的两边不允许有空根{€?/p>

16.我的åŸÞZºŽDisplaytag的简单报表解å†Ïx–¹æ¡ˆã€?br /> http://displaytag.sourceforge.net/
下蝲displaytag.jar和displaytag.tld
displaytag.jar攑֜¨lib目录åQŒè€Œdisplaytag.tld攑֜¨WEB-INF目录åQŒåœ¨web.xml䏭䨓displaytag.tld声明一下ã€?br />   <taglib>
    <taglib-uri>http://displaytag.org</taglib-uri>
    <taglib-location>/WEB-INF/displaytag.tld</taglib-location>
  </taglib>
在jsp里ä‹É用前åQŒåŠ ä¸?br />   <%@ taglib uri="        
注意该èÊY件有个bugåQŒä»–要用的一个包common-lang.jar版本必须åœ?.0以上ã€?br /> 如果¼„°åˆ°ä¸‹é¢å¼‚常åQŒåˆ™åº”坚持一下是否该包的版本问题ã€?br /> java.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.capitalize(Ljava/lang/String;)Ljava/lang/String;
然后ž®±å¯æ”‘Ö¿ƒä½¿ç”¨äº?br /> <display:column property = "xxx"/>其中xxx为对象中的带有getter的变é‡?gt;ã€?br /> 定义表格的样子,用css定义。如
TABLE.its THEAD TR {
 BACKGROUND-COLOR: #69c
}
TABLE.its TR.even {
 BACKGROUND-COLOR: #def
}
在ä‹É用分™å‰|—¶åQŒå¯èƒ½ä¼šå‡ºçް˜q™ç§æƒ…况åQŒç‚¹å‡Õd…¶ä»–页æ—Óž¼Œå¼¹å‡ºä¸‹è²½H—口åQŒè®©ä½ ä¸‹è½½å½“前jsp™åµé¢åQŒè¿™æ˜¯å› ä¸ÞZ½ åœ¨å½“前页面读取了数据的缘故。解军_Šžæ³•äØ“åœ¨action里读取数据而不是在jsp里。可以参è€?br />
http://www.displaytag.org/example-paging.jsp?d-26189-p=2

17.使用displaytagæ—Óž¼Œåœ¨ä¸€åˆ—中攑օ¥å¤šä¸ªå…ƒç´ 
必须在display:table中定义一个id
<display:table name = "allBooks" class = "its" pagesize = "5" id = "item">
  <display:column title = "操作">
    <a href = "/Bookshop/admin/bookManagement.do?action=view&id=<%=((Book)item).getId()%>" target = "_blank" >查看</a>
    <a href = "/Bookshop/admin/bookManagement.do?action=edit&id=<%=((Book)item).getId()%>">¾~–辑</a>
    <a href = "/Bookshop/admin/bookManagement.do?action=delete&id=<%=((Book)item).getId()%>">删除</a>
  </display:column>
要在displaytag中ä‹É用链接,必须具备paramIdåQŒå¦åˆ™ä¸æ˜„¡¤ºä¸ºé“¾æŽ?br />  <display:column property = "product.name" href = "viewDetailV2.0.jsp" title = "书名" paramId="item" paramProperty="product.id"/>
可以˜q™æ ·ä½¿ç”¨display
  <display:column property = "product.id" title = "ID"/>
其中product为对�/p>

18.<bean:write name = "xxxx" property = "xxx"/> 可以直接取到session.getAttribute()取到的东è¥Ñ€?/p>

19.实验struts-upload例子时要注意的地方:
   1.If you would rather write this file to another file, please check here:
 ˜q™ä¸€è¡Œè¦æ‰“é’©
   2.If you checked the box to write to a file, please specify the file path here:
在这里要重命名如åQšc:\b.jpg
上传成功的话åQŒä¼šå‡ºçŽ°æç¤º The file has been written to "c:\b.jpg"

20.Hibernateçš„like可以˜q™ä¹ˆç”¨ï¼š
      Query query = session.createQuery("from src.persistent.Book as book where upper(book.name) like :name ");
      query.setString("name", "%");
      result = query.list();

21.Hibernate出现 duplicate import : className
å¼‚å¸¸ä¹Ÿå¯èƒ½æ˜¯å› äØ“å¿˜äº†ä¸ºæŒä¹…ç±»åœ¨configuration中addClassäº?br />      
22.<logic:iterate id = "author" name = "authors">
name所引用的是session里的attribute�/p>

23.如果发现要出现询问下载的情况åQŒæœ‰å¯èƒ½æ˜¯å› ä¸ø™¦è·Œ™{的页面出çŽîCº†é—®é¢˜ã€‚试试在要蟩转到的页删掉
<%@ page contentType="text/html; charset=gb2312"%>

24.如果JSP™åµé¢è·Œ™{时出çŽîC¸‹è¾¹çš„错误信息åQ?br /> The request sent by the client was syntactically incorrect (Invalid path /web/shoppingCart was requested).
原因是struts-config的action = "x" 写成�action = "x.do"

25.在struts中,strut-config.xml中,forwardæ—¶ä‹É用redirect = "true"可以ž®?doé‡å®šå‘äØ“.jsp

26.以后在判断相½{‰æ€§ä¹‹å‰å…ˆç”¨logger把两个值显½Cºå‡ºæ¥ã€?/p>

27.从session里getAttribute后,修改òq¶ä¸éœ€è¦é‡æ–°setAttribute一‹Æ¡ã€?/p>

28.在hibernate中ä‹É用subclass是一‹‚늑ô承树å…Þq”¨ä¸€ä¸ªè¡¨åQŒä»…生成个mappingã€?br /> 每个¾cÖM¸­å¿…须有discrimator-value。在最上层的类中必™åÕd£°æ˜Žï¼š
@hibernate.discriminator column = "class"ã€?br /> 不可以将子类æ·ÕdŠ åˆ°configuration里去ã€?即不可addClass(子类))
使用Xdoclet的徏立subclass的例å­?该类是父¾c?
/**
 * @hibernate.class discriminator-value = "customer"
 * @hibernate.discriminator column = "class"
 */

而ä‹É用joined-subclass则是一¾cÖM¸€è¡?也不许将子类æ·ÕdŠ ˜q›configuration里去ã€?br /> /**
 * @hibernate.joined-subclass
 * @hibernate.joined-subclass-key
 * column="customer_id"
 */
如果发现生成的mappingæ–‡äšg中joined-subclassçš„key column为空åQŒé‚£ä¹ˆå¯èƒ½æ˜¯@hibernate.joined-subclass-key˜q™å¥æ²¡æœ‰å†™å¯¹ã€?br /> 用joined-subclass生成的表åQŒä»”¾l†çœ‹ã€‚Member extends Customer
create table Customer (
   id VARCHAR2(255) not null,
   name VARCHAR2(255),
   description VARCHAR2(255),
   primary key (id)
)
create table Member (
   customer_id VARCHAR2(255) not null,
   password VARCHAR2(255),
   primary key (customer_id)
)

29.在junit中尽量ä‹É用assertEquals代替assertTrue;

30.Hibernate
如果Child extends Parent
那么from Parent as parent 也将会将Child选出来,而from Child as child 则不会选出Parent

31.Hibernate
使用hibernateçš„one-to-oneæ—Óž¼Œåº”该两方向都set,否则会报save NullPointException
parent.setChild(child);
child.setParent(parent);

32.Hibernate
é‡åˆ°ä¸‹è¾¹çš„å¼‚å¸¸ï¼Œä¼°è®¡æ˜¯ä¸Žå› äØ“å¤–é”®å‡ºçŽ°äº†é—®é¢˜ï¼š

java.lang.NullPointerException
 at net.sf.hibernate.persister.AbstractEntityPersister.getPropertyValue(AbstractEntityPersister.java:675)
 at net.sf.hibernate.id.ForeignGenerator.generate(ForeignGenerator.java:33)
�
* @hibernate.id generator-class = "foreign"
* @hibernate.generator-param name = "property" value = "customer"
* @hibernate.one-to-one name = "custmoer" class = "src.persistent.Customer"
value的值和one-to-one 中nameçš„å€ég¸½W¦ï¼Œåˆ™ä¼šå‡ºçŽ°ä¸Šè¾¹çš„å¼‚å¸¸ã€‚å¦‚æžœä¸æ˜„¡¤ºæŒ‡å®šname则默认取成员变量å?br /> å¦?br /> Customer a
则name = "a" 需要小心的是不是类名。所以,以后最好显½CºæŒ‡å®šåå­—䨓好ã€?/p>

33.出现异常åQ?br /> Exceptionobject references an unsaved transient instance - save the transient instance before flushing: src.persistent.Product
原因没有为某对象˜q›è¡Œset讄¡½®åQ?如上边的˜q™ä¸ªž®±æ˜¯æŸå¯¹è±¡æ²¡æœ‰è°ƒç”¨setProduct

34.
"xxx action = "/a" 不用.do和根目录�br /> <a href = "b.do" 需�do和根目录�/p>

35.
Caused by: java.sql.SQLException: ORA-02291: ˜qåå®Œæ•´¾U¦æŸæ¡äšg (BOOKSHOP.FK4AAEE
47687CCA6B) - 未找到父™å¹å…³é”®å­—
如果你觉得该做的e是出现这个问题,那么‹‚€æŸ¥ä¸€ä¸‹ï¼Œæ˜¯å¦ž®†ç±»çš„ç‘ô承关¾pÕdœ¨hibernateçš„mapping中反映了出来。joined-subclass或subclass
例如a extends b
如果持久¾c»c 需要Set的是持久¾c»aåQŒé‚£ä¹ˆä½ æŠŠbä¼ å…¥åQŒè€Œb又没有在mapping中将父子关系反映出来的话åQŒå°±ä¼šå‡ºçŽ°è¯¥å¼‚å¸¸

36.使用DynaActionForm需要注意的问题
在struts-config声明
<form-bean name="memberloginForm" dynamic ="true" type="org.apache.struts.action.DynaActionForm">
  <form-property name = "name" type = "java.lang.String"/>
  <form-property name = "password" type = "java.lang.String"/>
</form-bean>
在Action里将form强制转化成DynaActionFormåQŒç„¶åŽget("属性名")ž®±å¯ä»¥äº†

37.那位大侠能给å‡ÞZ¸€ä¸ªç”¨hibernate˜q›è¡Œåˆ†é¡µå¾—实际例子,学习中!
http://forum.hibernate.org.cn/viewtopic.php?t=1772
Query q = s.find(".....");
q.setFirstResult(10);   //  从第11条记录开å§?
q.setMaxResults(100);  //  取出100æ?
......

38.strutsçš„validate最½Ž€å•实çŽ?br /> 1.首先准备好错误提½CÞZ¿¡æ¯ã€?br /> xxx.properties é‡?br /> errors.required={0} is required.(默认已有)
2.Form必须从ValidatorForm¾l§æ‰¿
3.不可以重载ValidatorForm的validate函数
4.在validate.xmlä¸­äØ“ä½ æƒ³éªŒè¯çš„è¡¨å•è¿›è¡ŒéªŒè¯è®¾è®¡ã€‚ä¾‹å¦?br /> <form name="logonForm">
    <field property="userName" depends="required">
 <arg0 key="prompt.userName"/>
 (该参数将在显½Cºé”™è¯¯ä¿¡æ¯æ˜¯ä»Žxxx.propertiesè¯Õd–prompt.userName,å¡«å…¥{}æ–ÒŽ‹¬å·é‡ŒåQŒå–ä»?。如果是arg1ž®†å°†å¡«å…¥{1}位置åQŒä»¥æ­¤ç±»æŽ¨ã€?br />     </field>
</form>
不需要在action里做ä»ÖM½•处理。只½Ž¡forwardž®Þp¡Œäº†ã€‚作为forward的目标页åQŒä¸éœ€è¦ä“Q何有关用于处理出错信息的处理ã€?/p>

39.服务器报
The requested resource (/xxxx/xxx.htm) is not available.的很奇怪的一个的可能原因
在web.xml中定义的tldåQŒæ²¡æœ‰æ‰¾åˆ?br /> 或者是lib目录下的包太多出çŽîCº†é—®é¢˜ã€?br /> å¦?br />   <taglib>
    <taglib-uri>/spring</taglib-uri>
    <taglib-location>/WEB-INF/spring.tld</taglib-location>
  </taglib>
如WEB-INF目录下不存在spring.tld的话åQŒå°±ä¼šæŠ¥ä¸Šè¾¹çš„é”™è¯?/p>

40.
springçš„xxx-servlet.xmlçš„ä‹É用SimpleFormController¾pÕdˆ—的类问题åQ?br />   <bean id = "priceIncreaseForm" class="PriceIncreaseFormController">
    <property name="sessionForm"><value>true</value></property>
    <property name="beanName"><value>priceIncrease</value></property>
    <property name="commandClass"><value>PriceIncrease</value></property>
    <property name="formView"><value>priceIncrease</value></property>
    <property name="successView"><value>hello</value></property>
    <property name="productManager">
      <ref bean="prodMan"/>
    </property>
  </bean>
˜q™é‡Œè¦æ³¨æ„å‡ ä¸ªé—®é¢˜ï¼š
(1)上边的PriceIncrease是了¾cÕdåQŒå¿…™åÕdœ¨classes里存在该¾c»ï¼Œå¦åˆ™æŠ¥ï¼š
PropertyVetoExceptionsException: 1 errors:-- ErrorCodedPropertyVetoException: message=[Failed to convert property value of type [java.lang.String] to required type [java.lang.Class] for property named 'commandClass'; nested exception is:
 java.lang.IllegalArgumentException: Invalid class name [PriceIncrease]: PriceIncrease]; errorCode=[typeMismatch]
java.lang.IllegalArgumentException: Invalid class name [PriceIncrease]: PriceIncrease
(2)<property name="formView"><value>priceIncrease</value></property>
˜q™ä¸€è¡Œå¿…不可ž®‘,priceIncrease是页面的名字åQŒä»–ž®†ä¼šæ˜¯prefix + priceIncrease + suffix
如果¾~ºå°‘该行åQŒåˆ™æŠ¥ï¼š
javax.servlet.ServletException: Error in ModelAndView object or View resolution encountered by servlet with name 'pocketSpring': View to render cannot be null with ModelAndView [ModelAndView: materialized View is [null]; Model=[{priceIncrease=PriceIncrease@148e798, org.springframework.validation.BindException.priceIncrease=org.springframework.validation.BindException: BindException: 0 errors}]]

使用Errorsçš„rejectValue相关问题åQ?br /> rejectValue(java.lang.String field, java.lang.String errorCode, java.lang.Object[] errorArgs, java.lang.String defaultMessage)
Reject the given field of the current object, using the given error description.
当前对象指的是xxx-servlet.xml中与validator¾cÀLœ‰è”系的哪个对象ã€?br />          
½W¬ä¸€ä¸ªæ˜¯åQšå½“前对象的属性名åQŒå¿…™åÕd­˜åœ?br /> ½W¬äºŒä¸ªæ˜¯åQšå°†è¦ä»Žå±žæ€§æ–‡ä»¶ä¸­è¯Õd–的消æ?br /> ½W¬ä¸‰ä¸ªæ˜¯åQšä¼ é€’给所è¯Õd–的消息的参数åQŒå¦‚åQ?br /> error.too-low=You have to specify a percentage higher than {0}!
½W¬å››ä¸ªæ˜¯åQšå½“从属性文件中è¯Õd–消息不成功时åQŒæ‰€rejectçš„å€?/p>

以后从request中读取parameter可以借用spring的RequestUtils包里�br /> getStringParameter
public static java.lang.String getStringParameter(javax.servlet.http.HttpServletRequest request,
                                           &bsp;      java.lang.String name,
                                                  java.lang.String defaultVal)
Get a string parameter, with a fallback value. Never throws an exception. Can pass a distinguished value to default to enable checks of whether it was supplied.
不会抛异�br /> Hibernate的问题:2.1rc的问�br /> INFO: cache provider: net.sf.ehcache.hibernate.Provider
net.sf.hibernate.HibernateException: could not instantiate CacheProvider:
解决办法åQ?.1rc比以前的版本多需要一个包
ehcache.jar

43.static的问é¢?br /> static函数只可以访问static成员变量ã€?br /> 而static变量可以被ä“Q何成员函数访问ã€?/p>

44.
java.lang.NoClassDefFoundError: javax/transaction/Synchronization];
需要添加JTA.jar




]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º Äþ½úÏØ| Îä°²ÊÐ| ÏʳÇ| ËÉÅËÏØ| µÀæÚÏØ| ÒËÀ¼ÏØ| ·îÐÂÏØ| Àײ¨ÏØ| вýÏØ| ÙÙÖÝÊÐ| º×ɽÊÐ| °ÍÑåÄ×¶ûÊÐ| ±¾Ïª| º£µíÇø| Æû³µ| ÀÈ·»ÊÐ| ËÉÌÒ| Âê¶àÏØ| ¶ÑÁúµÂÇìÏØ| ÁÙÈªÏØ| ²ªÀûÏØ| µÂ»ÝÊÐ| ÌìÖùÏØ| ÐÞË®ÏØ| Îå´óÁ¬³ØÊÐ| ×¼¸ñ¶ûÆì| Ó¦Óñر¸| Ñ×ÁêÏØ| ¼ÎÐËÊÐ| ·ö·çÏØ| ±±Æ±ÊÐ| Èʲ¼ÏØ| ÀÖÇåÊÐ| ÀíÌÁÏØ| ÄþºÓÏØ| ˫ѼɽÊÐ| È«ÄÏÏØ| ÏæÌ¶ÏØ| ÔªÀÊÇø| ÌÒÔ°ÊÐ| ºìÇÅÇø|