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