SSH---集成Struts2+Spring+Hibernate(一)

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

时间: 2024-11-03 14:38:26

SSH---集成Struts2+Spring+Hibernate(一)的相关文章

struts2 spring hibernate整合后报错

问题描述 struts2 spring hibernate整合后报错 在eclipse里面run on server之后,可以正确显示界面,但当填写表单点击按钮后出现了这个报错 Struts Problem Report Struts has detected an unhandled exception: Messages: 1.org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session; 2.Method

struts2 spring hibernate的文件上传问题

问题描述 用struts2 spring hibernate 文件上传不会做.只把图片的地址放在数据库中看了很多struts2的文件上传的例子. 看明白了.但是,三个框架一起用,就很糊涂.那位大哥帮帮我吧.整了3天,根本都不行.还是自己java的功底不好呀.我就25分了,悬赏20分.问题补充:congjl2002 大哥 又是你呀 谢谢亚你说的思路我明白.但是具体我很糊涂.怎么把地址村到数据库里亚.如果存名字和密码之类的,我会做.存地址不过呀.我把握的编码传上麻烦你帮我看看..jsp 叶面<scr

求struts2,spring,hibernate二进制程序

问题描述 求struts2,spring,hibernate二进制程序,有没有网址连接,或者有好心人发给我~~~邮箱是allbegins@163.comthankyou.在线等. 解决方案 解决方案二:暂时没有可用分,实在不好意思.

struts2 spring hibernate它们的面试题?

问题描述 谁有struts2.hibernate.spring它们各自的面试题以及它们整合的面试,麻烦传给小第一下,告诉我下载地址也行.. 邮箱:346594088@qq.com 解决方案 站内就有啊http://www.iteye.com/topic/564707

Struts2 spring hibernate 集成大问题

问题描述 在集成SSH出现以下错误,我已经将冲突jar包删除asm2.2.3,但还不不行!tomcat换成新的也不行!不是缓存的事情日志错误:11547mainERRORorg.springframework.web.context.ContextLoaderContextinitializationfailedorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'sessionFact

SSH整合学习笔记之struts2+spring+hibernate+c3p0

在基于spring与hibernate整合的基础之上现在将struts2与spring整合,完成s2sh整合. struts2的基本配置不变.但是在配置action的时候要注意,因为action要交给spring来管理. 那么就先在spring的applicationContext.xml中配置一个bean节点 <bean id="personAction" class="com.ty.spring2hibernate.controller.PersonAction&q

集成Flex,Spring,Hibernate构建应用程序

RIA(Rich Internet Application)-- 富 Internet 应用以其良好的客户体验得到越 来越广泛的应用,银行,电信等领域已有诸多成功案例.Adobe 的 Flex 是最具有代表性的 基于 Flash 的 RIA 技术.通过对 Flex 以及当前流行的 Spring.Hibernate 的 J2EE 开源 框架进行集成,使客户既能获得到一流的用户体验,又能获得 J2EE 应用的高稳定性,高可 扩展性和可移植性.从某种意义上来说,RIA 是未来 Web 应用的发展方向.

关于struts2+spring+hibernate的问题

问题描述 错误提示:UnabletoinstantiateAction,userlogin,definedfor'userl'innamespace'/'userlogincom.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:306)com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvo

Struts2+Spring+Hibernate+Jbpm技术实现Oa(Office Automation)办公系统第一天框架搭建

=============编码规范,所有文健,所有页面,所有数据库的数据表都采用UTF-8编码格式,避免乱码:===========开发环境:jdk1.7+tomcat8.0+mysql5.7+eclipse Mars.2 Release (4.5.2) 1:创建一个动态web项目,名称如Oa: 2:创建一个Oa的数据库,并且创建一个新用户只可以操作Oa这个数据库: 1 ----创建数据库 2 create database Oa default character set utf8; 3 4