`
qindongliang1922
  • 浏览: 2146646 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:116304
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:124574
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:58443
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:70340
社区版块
存档分类
最新评论

Struts2+Hibernate+Spring之3大框架集成小例子

阅读更多
SSH框架集成,可以说是JAVA Web开发中的一大利器,这些框架都经历了众多企业级开发的考验,散仙,今天写此篇文章的目的,第一呢,是自己好久没写过Web开发的例子,算是练练手,第二呢,也是最重要的一个目的,是为了某一个重要的人,而写的。
所以散仙尽量会以入门者的心态,来阐述整个小项目环境的搭建以及部署开发的流程,尽量让大家通俗易懂,一目明了。

在这之前,先谈谈SSH的使用状况,SSH框架集成,仍是当前中小型企业开发的首选利器,虽然近几年,使用Spring MVC+MyBatics+Spring有所增长,但以整体的趋势来看,SSH仍是当前开发的经典主流,因为使用SSH开发,足可以应对90%的企业级网站开发,当然更大型的网站架构以及开发可能会倾向于EJB+JPA+JSF的模式开发,这种情况,已经非常罕见了,
大部分的时候,我们使用不上这种网站架构。

下面开始进入正题,先看来下项目的开发环境:

名称描述
Web容器Tomcat7
IDE工具Myeclipse10.1
平台Windows
语言JAVA
JDK1.7
数据库MySQL5.1
Spring3.0,myeclipse自带
Struts2.1,myeclipse自带
Hibernate3.3,myeclipse自带
对人要求保持一份不浮躁的心情,和一种积极向上心态。
其他若侥幸搭建成功,希望你能勤加练习,并记录总结下心得,当然如果失败,任何问题可以随时联系散仙得以解决。



散仙本次写此篇文章,除了有完整的环境搭建步骤外,还有一个显示数据库的数据,到前台的功能,其他的删除,添加,修改功能,留给各位学习的朋友,做为练习,如果有什么不明白的地方,可以留言给散仙。

数据库表的设计,主要有2个表,一个学生表,一个班级表,有学生表里面的班级id和班级表里面的id是主外键关系,建表时候,最好先建外键表,再建主键表,截图如下:


第一步,创建一个Web项目

第二步,添加Hibernate的功能,具体步骤,如下截图所示:





然后,就可以创建一个hibernate的数据源了,后面生成实体类会用到。截图如下:


第一步,添加Spring功能,截图如下:









第三步,添加Struts的功能:

完成后,截图如下:

web.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:ac*.xml</param-value>
 </context-param>
  <filter>
  <filter-name>osiv</filter-name>
  <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
 </filter>
 <filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 </filter>
  <filter-mapping>
  <filter-name>osiv</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
 <login-config>
  <auth-method>BASIC</auth-method>
 </login-config>
</web-app>



按3层架构,写好的类结构图如下,Spring文件,为了直观,就分离开:


ac.xml里面的配置:

<?xml version="1.0" encoding="UTF-8"?>
<beans default-autowire="byName"
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"  
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
	
	 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
	 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
	">


    <!-- 配置数据源 -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="username" value="root"></property>
    <property name="password" value="root"></property>
    <property name="url" value="jdbc:mysql://localhost:3306/tt"></property>
    <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
    </bean>

    <!-- sessionFactory工厂,Hibernate和Spring集成后,一般由Spring通过依赖注入负责管理   -->
	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		 <!-- 加载实体类配置XML -->
		 <property name="mappingResources">
		 <list>
		 <value>com/entity/Classes.hbm.xml</value>
		 <value>com/entity/Student.hbm.xml</value>
		 </list>
		 </property>
	</bean>
	
	<!-- 定义抽象BaseDao -->
	<bean id="baseDao" class="com.commons.BaseDao" abstract="true"> </bean>
	
	
	<!-- 定义抽象业务层 -->
	<bean  id="baseSerivices" class="com.commons.BaseSerivices" abstract="true"></bean>
	
	<!-- 定义hibernate事务管理器 -->
	<bean id="tx" class="org.springframework.orm.hibernate3.HibernateTransactionManager"></bean>
	
	<!-- 定义事务通知 -->
	 <tx:advice id="txAdvice" transaction-manager="tx">
	  <tx:attributes>
	  <tx:method name="*" propagation="REQUIRED"/>
	  <tx:method name="get*" propagation="SUPPORTS"/>
	  <tx:method name="find*" propagation="SUPPORTS"/>
	  </tx:attributes>
	 </tx:advice>
	 
	 <!-- 定义aop切面 -->
	<aop:config>
	<aop:pointcut expression="execution(*  com.service.*.*(..))" id="pc"/>
	<aop:advisor  pointcut-ref="pc" advice-ref="txAdvice"/>
	</aop:config> 
	 
 
	</beans>

Struts的文件里内容:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.objectFactory" value="spring"></constant>
<package name="zhutingting" extends="struts-default">


<action name="showAll" class="studentAction" method="selectAll">
<result name="success">/index.jsp</result>
</action>

</package>

</struts>    


项目运行的一个截图:





其他部分的,代码,散仙在这里就不截图了,后面散仙会把整个小项目例子上传上来,有需要的朋友们,可以下载下来,进行参考。
学习过程中,如遇到解决不了的问题,可以留言。



  • 大小: 94.5 KB
  • 大小: 14.5 KB
  • 大小: 94.1 KB
  • 大小: 48.6 KB
  • 大小: 51.1 KB
  • 大小: 56.5 KB
  • 大小: 25.4 KB
  • 大小: 21 KB
  • 大小: 110.6 KB
  • 大小: 73.3 KB
  • 大小: 60.7 KB
  • 大小: 64.1 KB
  • 大小: 165.3 KB
  • 大小: 50.8 KB
  • 大小: 65.5 KB
  • 大小: 54.8 KB
分享到:
评论

相关推荐

    SSH整合开发完整例子(Struts+spring+hibernate完整开发)

    SSH整合开发完整例子(Struts+spring+hibernate完整开发). 以及包含完整的项目说明文档.

    Struts2+Hibernate+Spring三大框架集成范例

    自己做的一个小例子,有登录、查询和操作数据、、希望可以帮到大家!

    三大框架集成例子(struts2+hibernat3.0+spring2.5)

    很好用的(struts2+spring2.5+hibernate3.0)集成的实例,使用的数据库时sqlserver.有需要的下载看看吧

    Struts+Spring+Hbernate登录模块简单例子

    一个简单的Struts+Spring+Hibernate的登录模块的代码,含数据库代码和部分简单说明(适合刚接触Struts+Spring+Hibernate框架的开发者); 本例采用myEclipse6.0.1和tomcat6开发,可直接导入myeclipse工程运行...

    Spring + Struts + Hibernate 的详解

    基于现在越来越多的公司,使用Spring + Struts + Hibernate 框架集成做项目,分享个小例子给大家。

    struts2+spring+hibernate例子(全注解)

    框架版本:struts2.2.1、spring2.5.6、hibernate3.6.0.Final,全注解方式。 内容齐全下载后即可运行,注意Demo使用eclipse开发的。功能比较简单。

    struts+hibernate+spring集成

    该书是ssh框架集成的一个不错例子,以前这个很难找到,现在贡献出来给需要的友友们学习

    struts1.2.5+hibernate+spring源代码

    三大框架集成的例子,可以运行,该源代码可以学习到三大框架的集成,所需要的jar包,可以帮助新手快速上手三大框架的基本应用

    ssh框架集成例子

    struts2+spring+hibernate框架集成例子,自己集成的,初学者可以直接使用

    ssh例子

    struts+hibernate+spring三个框架集成的例子!

    一个简单的ssh框架集成的例子

    一个简单的ssh框架集成的例子,适合初学者使用,所用版本:struts 2.23 ,hibernate 3.6 ,spring 3.11

    SSH整合实例(登陆)

    Struts Hibernate Spring SSH Java Web 集成 整合 框架 Struts Hibernate Spring SSH Java Web 集成 整合 框架 Struts Hibernate Spring SSH Java Web 集成 整合 框架

    用案例学Java Web整合开发 源码

    从开发工具Eclipse + MyEclipse和Jbuilder,到服务器端的框架Struts、Hibernate、Spring的持续升温,再加上相关的服务器软件Tomcat、Weblogic等,Java已经发展成为一个完整的产品系列。《用案例学JavaWeb整合开发:...

    SSH例子下载

    ssh三大框架demo ,SSH 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。

    java三大框架

    struts+hibernate+spring就像我们盖房子一样,先把框架搭好,我们在在上面写代码就很规范。 Struts框架介绍 : Struts只是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller)...

    Struts2SpringHibernateIBatisPageCount

    以mysql数据库为基础做的整合例子,Struts2 Spring Hibernate IBatis 四个框架集成,再集成了hibernate分页技术,Ibatis分页技术。非常好用。创建数据库和下载jar包,直接导入立即可用,对学者学习是一个很好的例子...

    display分页+ssh三种框架集成(一个简单的例子)

    display分页+ssh三种框架集成(一个简单的例子) 如果在本机上部署好了访问http://localhost:8080/xujie/buyInfo.do?method=findAll就可以看到效果了。

    集成最新SSH框架学习和开发都可以

    集成最新SSH框架 学习和开发都可以 包含测试例子和权限控制 最新SSH struts hibernate spring 学习框架

    Hibernate实战(第2版) 中文版 part3

    作为Java世界最流行的持久化框架,Hibernate已经成为开发Java EE应用系统中不可替代的支柱之一。随着EJB 3.0和Java Persistence标准的发布,Hibernate也迎来了更加成熟的新版本——Hibernate 3.2。新版本实现了Java ...

    Hibernate实战(第2版) 中文版 part2

    作为Java世界最流行的持久化框架,Hibernate已经成为开发Java EE应用系统中不可替代的支柱之一。随着EJB 3.0和Java Persistence标准的发布,Hibernate也迎来了更加成熟的新版本——Hibernate 3.2。新版本实现了Java ...

Global site tag (gtag.js) - Google Analytics