三大框架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的改进

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...