三大框架Struts2 Spring2.5 Hibernate3.5的整合开发
创始人
2024-07-29 12:21:35
0

第一步:

下面给出整合开发时Struts2、Hibernate3.5、Spring2.5需要的jar。

Struts2所需要的jar如下:

1、struts2-core-2.x.x.x.jar :Struts 2框架的核心类库

2、xwork-2.x.x.jar :XWork类库,Struts 2在其上构建

3、ognl-2.x.x.jar :对象图导航语言(Object Graph Navigation Language),struts2框架通过其读写对象的属性

4、freemarker-2.3.x.jar :Struts 2的UI标签的模板使用FreeMarker编写

5、commons-logging-1.1.x.jar :ASF出品的日志包,Struts 2框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录。

6、commons-fileupload-1.2.1.jar 文件上传组件,2.1.6版本后必须加入此文件

7、struts2-json-plugin.jar struts2与json的插件

8、struts2-spring-plugin.jar struts2与spring的插件

Hibernate3.5所需要的jar如下:

hibernate核心安装包下的jar

1、hibernate3.jar

2、lib\required\*.jar

hibernate注解安装包下的jar

hibernate针对JPA的实现包

Spring安装包下的jar

1、spring.jar

2、aspectjrt.jar

3、aspectjweaver.jar

4、c3p0-0.9.1.2.jar

5、cglib-nodep-2.1_3.jar

6、common-annotations.jar

7、commons-logging.jar

8、log4j-1.2.15.jar

等等。具体情况因具体而定。如下图的jar

 

 

 

第二步:

在源文件夹下新建Spring配置文件beans.xml,在配置文件中配置c3p0数据源:

Xml代码

  1.     
  2.             destroy-method="close">    
  3.             
  4.             
  5.             
  6.             
  7.             
  8.             
  9.             
  10.             
  11.             
  12.             
  13.             
  14.             
  15.             
  16.             
  17.             
  18.             
  19.     bean>    
  20.     
  21.     
  22.     
  23.             class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">    
  24.             
  25.             
  26.                 
  27.                 cn/z_xiaofei168/domain/User.hbm.xmlvalue>    
  28.             list>    
  29.         property>    
  30.             
  31.                 
  32.                 org.hibernate.dialect.MySQL5Dialectprop>    
  33.                 updateprop>    
  34.                 trueprop>    
  35.                 falseprop>    
  36.             props>    
  37.         property>    
  38.     bean>   

 

 

 

 

第三步:

实体bean配置模板.hbm.xml

Xml代码

  1.     
  2.     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"     
  3.     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">    
  4.     
  5.         
  6.             
  7.                 
  8.         id>    
  9.             
  10.             
  11.             
  12.             
  13.     class>    
  14. hibernate-mapping>    

 

 

 

第四步:

在web容器中实例化spring容器和配置struts2

Xml代码

  1.     
  2.         
  3.         contextConfigLocation    
  4.         classpath:beans.xml    
  5.         
  6.         
  7.         
  8.         org.springframework.web.context.ContextLoaderListenerlistener-class>    
  9.     listener>    
  10.     
  11.     
  12.     
  13.         
  14.         
  15.         struts2filter-name>    
  16.         org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterfilter-class>    
  17.     filter>    
  18.         
  19.         struts2filter-name>    
  20.         /*url-pattern>    
  21.     filter-mapping>STRONG>    

 

第五步:

struts2的配置文件模板struts.xml如下。常量struts.objectFactory=spring明确指出将由spring负责创建Action实例。

Xml代码

  1.     
  2.  
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"     
  4.     "http://struts.apache.org/dtds/struts-2.1.7.dtd">    
  5.     
  6.         
  7.             
  8.             /index.jspresult>    
  9.         global-results>    
  10.             
  11.             
  12.             user_findAll    
  13.             user_findAll    
  14.             /user/user_update.jsp    
  15.             user_findAll    
  16.             /user/user_list.jsp    
  17.     
  18.             
  19.         
  20.     

 

 

 

第六步:

为了能从spring容器中寻找到Action bean,要求action配置的class属性值和spring中bean的名称相同。如下:

Xml代码

  1.     
  2.             
  3.             /index.jsp    
  4.             
  5.             
  6.             
  7.             ...     
  8.             
  9.         

 

 

第七步:

使用spring解决struts2乱码问题。

Xml代码

  1.     
  2.         
  3.         encodingfilter-name>    
  4.         org.springframework.web.filter.CharacterEncodingFilterfilter-class>    
  5.             
  6.             encodingparam-name>    
  7.             UTF-8param-value>    
  8.         init-param>    
  9.     filter>    
  10.         
  11.         encodingfilter-name>    
  12.         /*url-pattern>    
  13.     filter-mapping>    

 

第八步:

使用spring解决hibernate因session关闭导致的延迟加载例外问题。

【编辑推荐】

  1. 学习比较Struts2和Struts1:Struts2完胜
  2. Struts2.1.6的环境搭建与示例
  3. iBATIS Spring Struts2整合实例浅析
  4. Struts+WebWork简单示例
  5. Struts2对WebWork的改进

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...