博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
集成Struts2+Spring+Hibernate_两种方案
阅读量:6591 次
发布时间:2019-06-24

本文共 2707 字,大约阅读时间需要 9 分钟。

集成Struts2+Spring+Hibernate
第一种方案:让Spring创建Struts2的Action,不让Spring完全管理Struts2的Action
     Struts2 Action中的依赖对象,默认会根据名称自动装配
1、创建web项目
2、引入Struts2的依赖包,将依赖包拷贝到WEB-INF/lib下
* commons-logging-1.0.4.jar
* freemarker-2.3.15.jar
* ognl-2.7.3.jar
* struts2-core-2.1.8.1.jar
* xwork-core-2.1.6.jar
* commons-fileupload-1.2.1.jar
3、引入Spring的依赖包,将依赖包拷贝到WEB-INF/lib下
* spring.jar
* lib/aspectj/*.jar
4、引入hibernate相关依赖包,将依赖包拷贝到WEB-INF/lib下
* hibernate3.jar
* lib/*.jar
5、数据库驱动
* MySQl JDBC Driver
6、将Struts2和Spring集成的依赖包拷贝到WEB-INF/lib下
* struts2-spring-plugin-2.1.8.1.jar
7、在web.xml文件中配置StrutsPrepareAndExecuteFilter
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
8、提供struts.xml配置文件,提供必要属性的配置
* struts.i18n.encoding=GB18030
* struts.configuration.xml.reload=true
* struts.devMode=true   
9、提供Spring的配置文件
* applicationContext-service.xml
* applicationContext-dao.xml
* applicationContext-common.xml
10、提供hibernate.cfg.xml配置文件,提供log4j
11、在web.xml文件中配置Spring的ContextLoaderListener,创建BeanFactory
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <!-- 
    <param-value>classpath:applicationContext-*.xml</param-value>
    -->
    <param-value>classpath:applicationContext.xml</param-value> 
    </context-param>
    
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>、
    
11、在web.xml文件中配置OpenSessionInViewFilter(需要放到Struts2的Filter前面)
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
12、提供用户添加表单和add_success.jsp
13、建立User实体类,编写hibernate映射文件,将映射文件加入到hibernate.cfg.xml中
14、建立UserDao和UserService,并进行实现
15、建立Struts2的Action,并配置到Struts2的配置文件中
16、在jsp中调用Action
    

第二种方案(推荐):

集成Struts2+Spring+Hibernate

第一种方案:让Spring创建Struts2的Action,Spring完全管理Struts2的Action
      将Struts2的Action配置到Spring的配置文件中
1、提供Spring配置文件,配置Struts2的Action
* applicationContext-action.xml
2、在Spring中必须注入Struts2中Action的的依赖对象
<bean id="addUserAction" class="com.bjpowernode.usermgr.web.action.AddUserAction" scope="prototype">
<property name="userService" ref="userService"/>
</bean>
!!!必须设置scope="prototype"
3、struts.xml配置文件需要修改,<action>标签中的class属性值和IoC容器中本次请求对应的Action的id值相同
<package name="user-package" extends="struts-default" namespace="/user">
<action name="add" class="addUserAction">
<result>/add_success.jsp</result>
</action>
</package>

  
      

转载于:https://www.cnblogs.com/reblue520/p/6239920.html

你可能感兴趣的文章
[Android Samples视频系列之ApiDemos] App-Activity-Recreate
查看>>
C++ WINDOWS下 wchar_t *和char * 相互转化总结篇
查看>>
dubbo 学习
查看>>
Linux不同发型版本(Debian REHL)与软件包管理器(RPM dpkg)的概念
查看>>
LeetCode:Valid Number
查看>>
交换机选型笔记
查看>>
Codeforces Round #533 (Div. 2) 部分题解A~D
查看>>
[HAOI2011]Problem b BZOJ2301 数学
查看>>
C++ 模板和 C# 泛型之间的区别(C# 编程指南)
查看>>
在系统内以其它用户权限执行程序
查看>>
_鼠标移动跟随效果
查看>>
韩梦飞沙Android应用集合 想法
查看>>
python socket 接口
查看>>
Pwn2Own黑客大赛战况:iPhone 20秒被黑
查看>>
ASP开发基础
查看>>
mongodb远程连接访问
查看>>
【转】ret,retf,iret的区别
查看>>
XML 在SQLServer中的使用
查看>>
Linux 学习笔记 (四)Ubuntu14.04 解决上网问题安装无线网卡驱动
查看>>
MYSQL性能调优
查看>>