`
esffor
  • 浏览: 1367313 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts+Spring+Hibernate真正入门级实例

阅读更多

      网上有很多关于SSH架构的实例文章,但都显得复杂,我想,入门的朋友,还是希望从最简单的CRUD操作开始,一些复杂的数据库关系,逻辑关系,以后在项目中就能碰到,所以,本文定位于从零开始的一个SSH架构的例子,功能很简单,就是完成一个人员的CRUD操作,麻雀虽小,五脏俱全,希望能对从来没有接触过三者结合开发的朋友带来一点点帮助,这个例子,也算是我的入门实例,从此,开始Struts+Spring+Hibernate之旅 

开发工具:MyEclipse5.1+Tomcat+Mysql

开发前准备:数据库安装,tomcat安装,下载jar包这些就不费口水了,直接切入正题吧
CREATE TABLE `people` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(100) default NULL,
  `location` varchar(100) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 ROW_FORMAT=COMPRESSED;

首先,建立工程和package,以下是我的工程目录
  action
      DeletePeopleAction.java     //删除人员action
      EditPeopleAction.java         //编辑人员action第一步,读取需要修改的人员资料
      EditPeopleActionDo.java   //修改人员action
      ListPeopleAction.javaSave   //显示人员列表action
      SavePeopleAction.java         //新增人员action 
      SearchPeopleAction.java     //查找人员action
dao
      IDAO.java    //数据库操作接口
      StudentDAOImpl.java  //数据库操作实现
domain
      AbstractPeople.java   //实体抽象类
      People.hbm.xml         //数据库映射
      People.java                 //实体类
service
      IService.java   //服务层接口
      StudentManagerImpl.java   //服务层实现
util
     Character.java   //字符编码过滤器
     PageSupport.java   //分页
applicationContext_hibernate.xml   //Spring配置文件(hibernate部分)
applicationContext_service.xml      //Spring配置文件(Service部分)

JSP:这几个jsp从名字就能看出功能,不说了
   addStudent.jsp
   editStudent.jsp
   searchList.jsp
   searchStudent.jsp
   studentList.jsp

 

代码:
   

 applicationContext_hibernate.xml 
  

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
<!--  
    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
       <property name="jndiName">
          <value>java:comp/env/jdbc/StudentManager</value>
       </property>      
    </bean>
 
-->
 
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    
<property name="driverClassName">
      
<value>com.mysql.jdbc.Driver</value>
    
</property>
    
<property name="url">
      
<value>jdbc:mysql://localhost:3306/studentmanager</value>
    
</property>
    
<property name="username">
      
<value>root</value>
    
</property>
    
<property name="password">
      
<value>1234</value>
    
</property>
    
 
</bean>
 
 
<bean id="TransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean> 
   
    
<bean id="sessionFactory"
        class
="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        
<property name="dataSource">
            
<ref local="dataSource" />
        
</property>
        
<property name="hibernateProperties">
            
<props>
                
<prop key="hibernate.dialect">
                    org.hibernate.dialect.MySQLDialect
                
</prop>
                
<prop key="hibernate.show_sql">true</prop>
                
<prop key="hibernate.cache.use_query_cache">true</prop>
                
<prop key="hibernate.cache.provider_class">
                    org.hibernate.cache.HashtableCacheProvider
                
</prop>
            
</props>
        
</property>
        
<!--  
        <property name="mappingDirectoryLocations">
            <list>
                <value>classpath:/domain</value>
            </list>
        </property>
-->
        
<property name="mappingResources">
           
<list>
             
<value>domain/People.hbm.xml</value>
           
</list>
        
</property>
    
</bean>
    
    
<bean id="StudentDAO" class="dao.StudentDAOImpl">
       
<property name="sessionFactory">
         
<ref local="sessionFactory"/>
       
</property>
    
</bean>
</beans>

 

 applicationContext_service.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

   
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
     
<property name="sessionFactory">
       
<ref bean="sessionFactory"/>
     
</property>
   
</bean>
   
   
   
<bean id="studentManager" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
       
<property name="transactionManager">
          
<ref bean="transactionManager"></ref>
       
</property>
      
<property name="target">
          
<bean class="service.StudentManagerImpl">
            
<property name="studentDAO">
                
<ref bean="StudentDAO"/>
           
</property>
          
</bean>
      
</property>
      
<property name="transactionAttributes">
        
<props>
          
<prop key="save*">PROPAGATION_REQUIRED</prop>
          
<prop key="list*">PROPAGATION_REQUIRED,readOnly</prop>
          
<prop key="delete*">PROPAGATION_REQUIRED</prop>
          
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
          
<prop key="edit*">PROPAGATION_REQUIRED</prop>
          
<prop key="search*">PROPAGATION_REQUIRED</prop>
       
</props>
     
</property>
    
<property name="proxyTargetClass">
       
<value>true</value>    
    
</property>
     
   
</bean>
   

</beans>

 

 Web.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  
<context-param>
    
<param-name>contextConfigLocation</param-name>

    
<param-value>
                 /WEB-INF/classes/applicationContext_service.xml,
                 /WEB-INF/classes/applicationContext_hibernate.xml
                                  
    
</param-value>
  
</context-param>
  
  
<resource-ref>   
      
<description>SqlServer   Datasource   example</description>   
      
<res-ref-name>jdbc/StudentManager</res-ref-name>   
      
<res-type>javax.sql.DataSource</res-type>   
      
<res-auth>Container</res-auth>   
  
</resource-ref>
  
  
<filter>
        
<filter-name>hibernateFilter</filter-name>
        
<filter-class>
            org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
        
</filter-class>
        
<init-param>
        
<param-name>singleSession</param-name>
        
<param-value>true</param-value>
        
</init-param>
    
</filter>
    
<filter-mapping>
        
<filter-name>hibernateFilter</filter-name>
        
<url-pattern>*.do</url-pattern>
    
</filter-mapping>

        
<listener>
           
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        
</listener>
    
     

 
  
<servlet>
    
<servlet-name>action</servlet-name>
    
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    
<init-param>
      
<param-name>config</param-name>
      
<param-value>/WEB-INF/struts-config.xml</param-value>
    
</init-param>
    
<init-param>
      
<param-name>debug</param-name>
      
<param-value>3</param-value>
    
</init-param>
    
<init-param>
      
<param-name>detail</param-name>
      
<param-value>3</param-value>
    
</init-param>
    
<load-on-startup>0</load-on-startup>
  
</servlet>
  
<servlet-mapping>
    
<servlet-name>action</servlet-name>
    
<url-pattern>*.do</url-pattern>
  
</servlet-mapping>
</web-app>

struts-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Conf
分享到:
评论

相关推荐

    Java Web整合开发完全自学手册:Struts+Hibernate+Spring+Eclipse源码

    《JavaWeb整合开发完全自学手册》介绍如何整合Struts+Hibernate+Spring+Eclipse进行J2EE开发,所有实例都基于MyEclipseIDE开发,引领读者快速进入基于JavaWeb的J2EE应用领域。《JavaWeb整合开发完全自学手册》主要...

    用户登录(Struts1.2+Spring2.5+Hibernate3.2)

    1、可以运行(发布后,删除\Tomcat 6.0\webapps\ssh\WebRoot\WEB-INF\lib下的asm-2.2.3.jar) 2、采用Struts1.2 + Spring2.5 + Hibernate3.2 整合开发 3、SSH入门级实例

    Struts+Spring+Hibernate入门级实例

    这个入门级实例将引导初学者了解如何整合这三个框架来实现基本的CRUD(创建、读取、更新和删除)操作。 首先,我们来看Struts框架。Struts是基于Model-View-Controller(MVC)设计模式的,它提供了一个用于处理用户...

    struts+spring+hibernate入门实例

    这个"struts+spring+hibernate入门实例"旨在帮助初学者理解这三者如何协同工作,创建一个功能完整的Web应用。 Struts 是一个基于MVC(Model-View-Controller)设计模式的开源框架,主要用于控制视图与模型之间的...

    Struts+Spring+Hibernate整合入门详解

    Struts+Spring+Hibernate 整合是Java Web开发中一种常见的技术栈,它结合了三个强大的框架,以实现高效、灵活且易于维护的后端应用。这篇文章将带你一步步入门这三者的整合,从基本概念开始,到环境搭建,再到实际...

    Struts+Hibernate+Spring入门教程及实例.rar

    这个“Struts+Hibernate+Spring入门教程及实例”压缩包提供了学习这三大框架基础知识和实践操作的资源。 **Struts框架**: Struts是一个开源的MVC(Model-View-Controller)框架,主要用于构建基于Java EE的Web应用...

    struts2+spring+hibernate整合实例

    以上是对"struts2+spring+hibernate整合实例"的详细解释,整合这三大框架能够构建出功能强大的企业级Web应用,但同时也需要开发者具备扎实的Java基础和良好的架构设计能力。在实际项目中,应根据需求选择最合适的...

    Struts2+Hibernate+Spring课件 张志峰版

    Struts2、Hibernate和Spring是Java企业级开发中三大核心框架,它们的组合通常被称为SSH(Struts2、Spring、Hibernate)集成框架。这个“Struts2+Hibernate+Spring课件 张志峰版”提供了深入学习这三大框架的宝贵资源...

    SSH 入门程序(struts+spring+hibernate)

    SSH(Struts+Spring+Hibernate)是Java Web开发中的经典技术栈,这三种框架的组合在企业级应用中广泛使用,提供了模型-视图-控制器(MVC)架构的完整解决方案。SSH入门程序是一个帮助开发者熟悉这三个框架集成使用的...

    struts+spring+hibernate俱乐部项目

    在本项目中,Spring作为中央调度者,管理着整个应用的生命周期,包括Struts和Hibernate的配置,以及Bean的实例化和依赖关系的注入。Spring的事务管理确保了数据库操作的原子性和一致性,增强了系统的稳定性和可靠性...

    struts2+spring+hibernate 入门实例

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责不同的职责,共同构建了一个强大的企业级应用体系。这个入门实例旨在帮助初学者快速理解这三个框架如何协同工作,实现一个基本的学生信息管理...

    spring+struts+hibernate(简单入门实例)

    Spring、Struts和Hibernate是Java开发中非常经典的三大框架,它们各自负责应用程序的不同层面:Spring作为全面的轻量级框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等核心功能;Struts则是...

    ssh(struts+spring+hibernate)登陆实例代码

    SSH(Struts + Spring + Hibernate)是一个经典的Java Web开发框架组合,用于构建高效、可维护性和可扩展性的企业级应用程序。SSH分别代表Struts作为MVC框架、Spring作为依赖注入和事务管理框架、Hibernate作为对象...

    基于Struts2+Spring+Hibernate+MySql的注册登录系统

    Struts2、Spring和Hibernate是Java EE开发中的三大框架,它们共同构成了SSH(Struts2、Spring、Hibernate)体系,用于构建高效、可扩展的企业级应用程序。本项目是一个基于SSH框架和MySQL数据库的注册登录系统实例,...

    Struts+Hibernate+Spring入门教程及实例

    这个“Struts+Hibernate+Spring入门教程及实例”很可能是为初学者设计的一个综合学习资源,旨在帮助他们理解这三大框架的集成使用。 **Struts** 是一个MVC(Model-View-Controller)框架,主要处理HTTP请求和响应,...

    Struts+Hibernate+Spring集成开发

    计算机电子书下载,《Struts Hibernate Spring集成开发宝典》以Struts,Hibernate,Spring为核心详细地讲解了这三个组件的基础知识和基本使用方法,并通过一系列集成开发实例讲解了这三个组件在J2EE项目中的应用。...

    struts2+hibernate3.2+spring2.0配置+入门实例

    本文将详细介绍如何配置和构建一个基于Struts2、Hibernate3.2和Spring2.0的企业级Java应用入门实例。首先,我们理解整体架构,这有助于我们更好地了解各个组件的作用。 **1. 整体架构** 在企业级Java应用中,常见...

Global site tag (gtag.js) - Google Analytics