ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>精品国产亚洲日本,在线成人国产,久久99精品视频一区97http://www.aygfsteel.com/176142998/category/33521.htmlzh-cnThu, 07 Aug 2008 09:10:01 GMTThu, 07 Aug 2008 09:10:01 GMT60MyEclipse下struts2、spring、hibernate整合http://www.aygfsteel.com/176142998/archive/2008/08/06/220333.html飞飞飞飞Wed, 06 Aug 2008 01:07:00 GMThttp://www.aygfsteel.com/176142998/archive/2008/08/06/220333.htmlhttp://www.aygfsteel.com/176142998/comments/220333.htmlhttp://www.aygfsteel.com/176142998/archive/2008/08/06/220333.html#Feedback0http://www.aygfsteel.com/176142998/comments/commentRss/220333.htmlhttp://www.aygfsteel.com/176142998/services/trackbacks/220333.html1、MyEclipse下徏立新的Web Porject

2、Copy Struts2çš„libæ–‡äšg到工½E‹çš„WEB-INF/lib下非*-plugin-2.0.6.jar的所有的包加上struts2-spring- plugin-2.0.6.jaråQŒæœ€ž®çš„包可以在struts-2.0.6\apps\struts2-blank-2.0.6\WEB-INF\ lib下找刎ͼŒä¸è¿‡å› äؓ使用Spring、Hiberate那点包是不够用的

3.1、工½E‹åä¸Šå³é”?>MyEclipse->Add Spring Capabilities点击出现对话æ¡?

3.2、由于我用的MyEclipse中Spring的插件是1.2的,所以没使用MyEclipse下的包,不选择MyEclipse Libraries

3.3、选中Copy checked library contents to project folder (TLDs always copied)

3.4、ä‹É用默认的Library Folder:/WebRoot/WEB-INF/libåQŒNext

3.5、Folder点周Brower选中™å¹ç›®çš„WebRoot/WEB-INF/

3.6、点击Finish

4、配¾|®MyEclipse数据库设¾|?

4.1、菜单Windows->Preferences->MyEclipse->Database Explorer->Drivers

4.2、点击New讄¡½®æ•°æ®åº“连接,例:
Driver template : Oracle (Thin driver)
Driver name : Oracle (Thin driver)
Connection URL : jdbc:oracle:thin:@<server>[:<1521>]:<database_name>
Driver JARs: ojdbc14.jar
Dirver classname : oracle.jdbc.driver.OracleDriver

4.3、点击OK、OK

5、忘了Copy Spring 2çš„jar包到工程中了åQŒä¸˜q‡æ²¡å…³ç³»åQŒçŽ°åœ¨Copyä¹Ÿä¸€æ øP¼ŒCopy spring-framework-2.0.3\dist\spring.jar åˆ?WebRoot/WEB-INF/lib下就可以了,如果想Copy专用的包可以Copy spring-framework-2.0.3\dist\modules下的

5.1、菜单Windows->Open perspective->MyEclipse Database Explorer

5.2、在DB Brower点右�>New

5.3、配¾|®ä¾‹å­å¦‚下:
Profile name: test
Driver: Oracle (Thin driver)
URL: jdbc:oracle:thin:@127.0.0.1:1521:test
User name: test
Password: test
选中Save password

5.4、点击Finish

6.1、配¾|®Hibernate

6.2 工程名上右键->MyEclipse->Add Hiberate Capabilities点击出现对话�

6.3、选中Copy checked Library Jars to project forlder and add to build-path 点击Next

6.4、选中Spring configuration file (applicationContext.xml)点击Next

6.5、选中Existing Spring configuration fileåQŒMyEclipse会帮你自动找到Spring Configæ–‡äšgçš?

6.6、SessionFactory ID填写sessionFactory点击Next

6.7、Bean Id填写dataSourceåQŒé€‰ä¸­DB Profile下刚才徏好的teståQŒç‚¹å‡»Next

6.8、不选择Create SessionFactory class?点击Finish

7、这时候会提示你某些类没发玎ͼŒCopy commons-dbcp-1.2.1.jar到lib下就OKäº?


8 é…ç½®struts.propertiesæ–‡äšgåQŒæŒ‡å®šspringä½œäØ“strutsçš„IoC容器
struts.objectFactory = spring
(1)默认的autowiring模式是:by name
卛_¦‚æžœapplicationContext.xmlæ–‡äšg中的bean id与struts.xmlæ–‡äšg中的action name相同åQŒå°±
(2)如果要改为其他模式:
struts.objectFactory.spring.autoWire = name|type|auto|constructor

ä¾?

struts.i18n.encoding=ISO-8859-1
struts.locale=de_DE
struts.objectFactory=spring
### Load custom default resource bundles
struts.custom.i18n.resources=testmessages
### XSLT Cache
struts.xslt.nocache = true


9配置web.xmlæ–‡äšgåQŒå¯åЍSpring侦听å™?br /> <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

10 åœ¨WEB-INF目录下的applicationContext.xmlæ–‡äšg
例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " <beans default-autowire="autodetect">
<bean id="personManager" class="com.acme.PersonManager"/>
</beans >

11 讄¡½®ç”±Spring来初始化action
11.1  在Springçš„applicationContext.xmlæ–‡äšg中配¾|®beanåQˆå³action¾c»ï¼‰
11.2  ž®†struts.xml中的actionçš„class属性,由class名改为Spring中定义的beanå?br /> 例如åQ?br /> (1)applicationContext.xml中,定义bean id是bar
<beans default-autowire="autodetect">
<bean id="bar" class="com.my.BarClass" singleton="false"/>
...
</beans>
(2)struts.xml中,actionçš„class="bar"åQŒè€Œä¸æ˜¯é€šå¸¸çš„ç±»å?br /> <package name="secure" namespace="/secure" extends="default">
<action name="bar" class="bar">
<result>bar.ftl</result>
</action>
</package >

启动˜qè¡ŒåQ?br /> 报错
log4j:WARN No appenders could be found for logger (org.springframework.core.CollectionFactory).
log4j:WARN Please initialize the log4j system properly.
2008-8-6 9:29:16 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
2008-8-6 9:29:18 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:883)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:839)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
 at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
 at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
 at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
 at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
 at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4334)
 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
 at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
 at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
 at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
 at org.apache.catalina.core.StandardService.start(StandardService.java:516)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
 at java.lang.Class.getDeclaredConstructors0(Native Method)
 at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
 at java.lang.Class.getConstructor0(Unknown Source)
 at java.lang.Class.getDeclaredConstructor(Unknown Source)
 at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:54)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:877)
 ... 40 more
2008-8-6 9:29:18 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2008-8-6 9:29:18 org.apache.catalina.core.StandardContext start
严重: Context [/ssh] startup failed due to previous errors

原因åQ?br /> 找不åˆ?Caused by: java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
ž®±Apache所提供的基本对象池ã€?br />
解决åQ?br /> 到这é‡?a >http://commons.apache.org/downloads/download_pool.cgi
下蝲包,然后,把里面的commons-pool-x.jar复制到项目的libæ–‡äšg夹下

错误:
log4j:WARN No appenders could be found for logger (org.springframework.core.CollectionFactory).
log4j:WARN Please initialize the log4j system properly.

解决:
在WEB-INF/class 目录下徏立一个log4j.propertiesæ–‡äšg,内容如下:
log4j.rootLogger=DEBUG,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %5p (%F:%L) - %m%n

警告:

信息: Starting Servlet Engine: Apache Tomcat/6.0.13
log4j:WARN No appenders could be found for logger (org.apache.struts.util.PropertyMessageResources).
log4j:WARN Please initialize the log4j system properly.
2008-8-6 9:40:09 org.apache.catalina.core.ApplicationContext log
信息: Initializing WebApplicationContext for Struts ActionServlet 'action', module ''
2008-08-06 09:40:29,859 DEBUG (CollectionFactory.java:195) - Creating [java.util.concurrent.ConcurrentHashMap]
 2008-8-6 9:40:29 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
2008-08-06 09:40:29,906  INFO (ContextLoader.java:189) - Root WebApplicationContext: initialization started
 2008-08-06 09:40:30,203  INFO (AbstractApplicationContext.java:412) - Refreshing org.springframework.web.context.support.XmlWebApplicationContext@1df59bd: display name [Root WebApplicationContext]; startup date [Wed Aug 06 09:40:30 CST 2008]; root of context hierarchy
 2008-08-06 09:40:30,406 DEBUG (CollectionFactory.java:195) - Creating [java.util.concurrent.ConcurrentHashMap]


index.jsp

<%@ page language="java" pageEncoding="GBK"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
 <head>
  <title>ç™Õd½•</title>
  <style type="text/css">
.label {
 font-style: italic;
}

.errorLabel {
 font-style: italic;
 color: red;
}

.errorMessage {
 font-weight: bold;
 color: red;
}
</style>
 </head>
 <s:head theme="ajax" />
 <body>
 <s:debug>
  <s:form action="First">
   <s:textfield name="username" label="用户å? />
   <s:textfield name="password" label="密码" />
   <s:submit value="ç™Õd½•" />
   <s:a href="First.action">ç™Õd½•</s:a>
  </s:form>
</s:debug>
 </body>
</html>



BUG:
2008-8-6 10:58:02 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
The Struts dispatcher cannot be found.  This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]
 at org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:60)
 at org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:52)
 at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:49)
 at org.apache.jsp.index_jsp._jspx_meth_s_005fhead_005f0(index_jsp.java:126)
 at org.apache.jsp.index_jsp._jspService(index_jsp.java:94)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 at java.lang.Thread.run(Unknown Source)

解决:web.xmlæ·ÕdŠ 
<filter>
  <filter-name>struts2</filter-name>
  <filter-class>
   org.apache.struts2.dispatcher.FilterDispatcher
  </filter-class>
 </filter>
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>




]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º ÀæÊ÷ÏØ| °×ÀÊÏØ| ·áÌ¨Çø| Íû½­ÏØ| ÉñÅ©¼ÜÁÖÇø| º«³ÇÊÐ| вÌÏØ| ÌÆÉ½ÊÐ| ƽÄÏÏØ| ¾²ÄþÏØ| ɳÍåÏØ| ¿¦À®Ç߯ì| ÓÀÌ©ÏØ| Ôö³ÇÊÐ| áÔÃ÷ÏØ| °²ÄþÊÐ| ÁéÉ½ÏØ| ¾°µÂÕòÊÐ| ÇàÖÝÊÐ| Æ½Â½ÏØ| ½øÏÍÏØ| ºîÂíÊÐ| Ð˺£ÏØ| ÂíÉ½ÏØ| Æß̨ºÓÊÐ| Îä¹¦ÏØ| ÁúÖÝÏØ| °¢Â³¿Æ¶ûÇ߯ì| ´óÃûÏØ| Çíº£ÊÐ| Ïã¸Û | ÒÁÄþÊÐ| ¼¨ÏªÏØ| °¢¿ËÌÕÏØ| ºì°²ÏØ| ÕýÄþÏØ| ³¤ÁëÏØ| Ò˲ýÊÐ| ¹óÑôÊÐ| ºÍ¾²ÏØ| Õû¯ÊÐ|