Struts2 String2.5 Hibernate3 集成框架.doc_第1页
Struts2 String2.5 Hibernate3 集成框架.doc_第2页
Struts2 String2.5 Hibernate3 集成框架.doc_第3页
Struts2 String2.5 Hibernate3 集成框架.doc_第4页
Struts2 String2.5 Hibernate3 集成框架.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Struts2 String2.5 Hibernate3整合说明:本文中的某些配置跟实际的业务有关,请不要原样照搬,根据您具体的业务做相应的修改。MyEclipse的版本是5.5.1GA,如果不一样,导入到包也会有不同。1. 建立Web项目下面的配置容易出错,先配置日志,加入perties和log4j.jar,把出错信息写到控制台,这样出错就有提示信息。(perties放在源文件目录下,log4j.jar放在WEB-INFlib目录下)2. 增加Struts2需要的jar包和配置文件struts.xml,并修改web.xml,在web.xml增加如下内容:struts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*3. Struts2整合Spring添加支持的jar包(struts2-spring-plugin-x.x.x.x.jar)增加Spring支持加入Spring支持的过程中注意选择需要的包,参照下图和图中的文字说明Servelt方式或者Listener,在工程启动的时候启动下面的配置写在工程的配置文件web.xml中contextConfigLocationclasspath*:applicationContext*.xmlorg.springframework.web.context.ContextLoaderListenerstartspringorg.springframework.web.context.ContextLoaderServlet04. 增加Hibernate支持增加Hibernate支持的时候只要选择核心库就行了,如下图所示:Hibernate的配置文件有两种方式,一种是单独生成配置文件,一种是在spring的配置文件中增加hibernate的配置。单独生成的前面已经讲过,这里主要讲解集成在spring的配置文件中的方式。按图中选择Spring的配置文件。点next。点Next。点Next。因为现在已经不需要SessionFactory类了,所以我们不选中它,点Finish。现在生成的applicationContext.xml的文件内容如下:org.hibernate.dialect.SQLServerDialect注意配置中红字有下划线的部分,因为它我们需要用到另外一个包:commons-pool和common-dbcp的包,我们用commons-pool-1.3.jar,commons-dbcp-1.2.2.jar(或者其它版本的,可以在MyEclipse安装目录下搜索到)。如果这时候生成的配置文件名字和第3个步骤的配置文件中的配置的参数值不一样,请修改让其一致。至此,可以开始配置dao、biz、action之间的关系了。以下是一个具体的例子:注意:action的id要和struts2的配置文件中对应的action的name一样。采用这种配置方式,实体的映射文件配置在sessionFactory里面,也就是说在id为sessionFactory这个bean里面增加一个属性(如果实体和映射文件是自动生成的,这一项可以自动更新):com/test/entity/User.hbm.xml5. 关于Struts2中ActionStruts中的Action做不用任何修改。 整合后,Struts的Action由Spring来生成,默认是通过名字来匹配的。在实践过程中,发现有的时候无法按名字自动装配。如果是按名字自动装配,则在启动WEB应用程序的过程中会看到如下图中的提示:如果没有发现类似的文字,请在struts.xml中增加一个常量:或者在perties增加这样一句:struts.objectFactory.spring.autoWire = name6. 配置声明式事务注意:如果不修改,则工具对声明式事务方面的配置不会提示,可以修改成如下样子:至此,大功告成了,大名鼎鼎的SSH框架已经集成起来了。7. 常见错误Spring2 aop库包冲突异常信息如下所示:org.springframework.beans.factory.BeanCreationException: Error creating bean with name sessionFactory defined in class path resource applicationContext.xml: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)VCaused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V解决方案:此错误是包冲突引起的,请删除WEB-INFlib目录下的asm-2.2.3.jar文件,最后的修改MyEclipse自带的spring2 aop库,以后就一劳永逸,如果已经发布了,则必须删除部署后的项目的WEB-INFlib目录下的asm-2.2.3.jar文件,或者已发布的项目,然后重新发布。找不到org/hibernate/cfg/HbmBinder$SecondPassorg.springframework.beans.factory.BeanCreationException: Error creating bean with name sessionFactory defined in file D:developapache-tomcat-5.5.27webappstestWEB-INFclassesapplicationContext.xml: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/cfg/HbmBinder$SecondPassjava.lang.NoClassDefFoundError: org/hibernate/cfg/HbmBinder$SecondPass解决方案:删掉hibernate-annotations.jar可能原因:版本问题 或者 和spring-hibernate.jar 冲突AbstractEntityTuplizer引起的NullPointerException错误信息如下:java.la

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论