SSH---集成Struts2+Spring+Hibernate(一)
来源:互联网 发布:复杂网络中的社团结构 编辑:程序博客网 时间:2024/05/22 17:45
SSH---集成Struts2+Spring+Hibernate(一)
本方案让Spring创建Struts2的Action,不让Spring完全管理Struts2的Action,Struts2Action中的依赖对象,默认会根据名称自动装配
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>
12、在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>
13、提供用户添加表单和add_success.jsp
14、建立User实体类,编写hibernate映射文件,将映射文件加入到hibernate.cfg.xml中
<mapping resource="/com/tgb/usermgr/domain/User.hbm.xml"/>
15、建立UserDao和UserService,并进行实现
UserDao
//UserDao接口 package com.tgb.usermgr.dao;import com.tgb.usermgr.domain.User; public interfaceUserDao { public void add(User user);}//UserDao实现packagecom.tgb.usermgr.dao.impl; importorg.springframework.orm.hibernate3.support.HibernateDaoSupport; importcom.tgb.usermgr.dao.UserDao;importcom.tgb.usermgr.domain.User; publicclass UserDaoImpl extends HibernateDaoSupport implements UserDao { public void add(User user) { getHibernateTemplate().save(user); }}
UserService
//UserService接口package com.tgb.usermgr.service; import com.tgb.usermgr.domain.User; public interfaceUserService { public void add(User user);} //UserService实现packagecom.tgb.usermgr.service.impl; importcom.tgb.usermgr.dao.UserDao;importcom.tgb.usermgr.domain.User;importcom.tgb.usermgr.service.UserService; publicclass UserServiceImpl implements UserService { private UserDao userDao; public void add(User user) { userDao.add(user); } public void setUserDao(UserDao userDao) { this.userDao = userDao; } }
16、建立Struts2的Action,并配置到Struts2的配置文件中
<struts> <constant name="struts.i18n.encoding" value="GB18030"/> <constant name="struts.configuration.xml.reload" value="true"/> <constant name="struts.devMode" value="true"/> <!-- 默认根据名称自动装配Action中的依赖对象,现在修改为根据类型 --> <constant name="struts.objectFactory.spring.autoWire"value="type"/> <package name="user-package" extends="struts-default" namespace="/user"> <action name="add" class="com.tgb.usermgr.web.action.AddUserAction"> <result>/add_success.jsp</result> </action> </package></struts>
17、在jsp中调用Action
<body> <form action="user/add.action"> 用户代码:<input type="text" name="user.userCode"><br> 用户姓名:<input type="text" name="user.userName"><br> 年龄:<input type="text" name="user.age"><br> <input type="submit"value="添加"> </form> </body>
最后附上框架的下载链接:http://download.csdn.net/detail/senior_lee/9059887
- SSH---集成Struts2+Spring+Hibernate(一)
- ssh集成(struts2+spring+hibernate)
- SSH(Struts2-Spring-Hibernate)
- ssh框架整合:struts2+hibernate+spring(一)
- Spring,Struts2,Hibernate三大框架的集成(SSH)
- spring + struts2 + hibernate 集成
- 集成struts2+spring+Hibernate
- SSH开发环境的配置:web.xml、Spring集成hibernate和Spring集成Struts2
- SSH开发配置文件(Spring+Hibernate+struts2)
- Spring整合Hibernate和Struts2 (SSH)
- SSH整合(Spring+Struts2+Hibernate)
- spring+hibernate+struts2的集成
- Spring、Struts2、Hibernate集成开发
- ssh 整合 (spring + Struts2 + hibernate)
- ssh(Spring struts2 hibernate)整合
- 浅谈ssh(struts2+spring+hibernate)
- SSH整合:Struts2+Spring+Hibernate
- 【SSH】Hibernate+Struts2+Spring整合
- 剑指Offer-数值的整数次方
- 【java-日志组件】slf4j+logback配置及详解
- Java多态 实例子类自动调用父类为空的构造方法 成员变量不支持Override 可写,没多态效果
- 剑指Offer-树的子结构
- EF性能优化(C# 版 潘鹏)
- SSH---集成Struts2+Spring+Hibernate(一)
- 剑指Offer-二叉树的镜像
- 剑指Offer-斐波那契数列
- 技术真的能改变世界嘛?
- 《Android best practices》笔记
- github的一点小心得
- OSPF特殊区域之NSSA
- mysql
- mysql统计字段中某一字符串出现的次数