最近利用时间好好的看了一下SSH,Struts,Spring,Hibernate,并且做了个小项目,我把我个人学习的感觉和理解记了下来,和大家讨论讨论,想来个抛砖引玉,希望大家多多讨论,理解的不对的地方还请直言赐教。
Struts,负责表示层的,主要玩的就是MVC,主要的就是struts-config.xml配置文件,另外还有标签和验证。主要负责的就是把请求和回复分开,形成层状结构,便于管理。struts-config.xml就是个连线员,而每个jsp页面和每个action,其实就是servlet,就是每台电话,它们就通过它们的“电话号码”——标识符,在连线员的工作下拨通你想要的电话,也就是说跳转到你想要跳转的页面,得到你想要得到的结果页面。
Hibernate,负责持久层,主要玩的就是ORM,对象/关系数据库映射,配置文件有hibernate.cfg.xml,还有每张表所对应的配置文件,test.hbm.xml,当然文件的名字可以变,只要在web.xml中配置好了就行了。主要是把对象和数据库表给联系起来,再也不用那JDBC直接连接数据库了,也不用重复的写statement.setString(bean.getID())等等了,可以很方便的调用hibernate所提供的方法save(),update(),remove(),find()。当然hibernate也提供了事务的管理等等。如果哪天我们想换个数据库的话,只要把配置文件修改修改,就应该没有什么问题了,而项目中的代码几乎不用重写。对了,hibernate所提供的HQL语言要替代项目中的SQL语句了。
Spring,负责业务层,说到业务层,就是管理,Spring主要玩的就是“依赖注入”和AOP,配置文件就是applicationContext.xml。它把项目应用注入到框架里,利用AOP的面向方面管理的原理,将整个项目的代码再次分层的管理起来,它提供切入点,通知,工厂模式的机制,很清晰的管理代码。最后我们通过applicationContext.xml的配置内容调用我们所需要的业务service,同时提供事务管理,日志管理,安全管理,异常管理等等。
我再大胆的“抛砖引玉”一下。在早期,要想用java写web项目,只能拿servlet写,因为servlet写的时候需要调用java的接口,不便于页面的编写,后来就有了jsp,基于html,在html里面嵌套java程序。后来随着项目的增大,请求和回复慢慢变得频繁起来,也就变的混乱起来,因为项目在增大,仅仅靠一个人的能力已经不能满足项目的要求了,需要分工合作,有分工就会有分歧,除非分工很明确。所以,就有这么一天,高手们发明了Struts框架,基于MVC模式,很好的将model,view,controller分成三层,使得请求和回复分开,开发变得清晰。有项目,就会有数据,要不然我们就不需要交互了。那么数据总要有个存储的地方,数据库顾名思义就是个很好的数据存储地方。早期我们就通过JDBC连接数据库,先加载DriverManager,也就是驱动程序,然后获得Connection,再得到StateMent,最后通过执行sql,如果是查询再得到ResultSet结果集。增删改查都要自己写方法,假如一个表的字段有上百个的话,那么我们要插入一条记录需要写多少代码,再如果我们想要使用不同的数据库的时候,我们又需要把多少代码重新编写。出现了这些问题后,又有那么些高人发明了Hibernate框架,从此我们程序员的生活变的美好了许多。可是web项目是越来越大,编写的代码越来越多,也慢慢的就变得混乱了,常常是修改了一处的代码而引发许多出的错误,使得我们程序员的生活又变的不那么美好了,这时候,高人又发明了Spring框架,Spring有效的将Struts和Hibernate集成起来,统一管理,使得整个web项目层次分明,而各个层次之间又是相互独立,假如哪一个模块变动了,我们需要的只是把配置文件里的配置项修改修改就可以了。真正的“高内聚,松耦合”,也就是面向对象编程的思想。
所以,我们在开发项目的时候,可以使用这些框架,也可以不使用,照样也能完成项目的开发,所谓“条条道路通北京”嘛。框架只是给我们提供了方便,提高了项目的复用性,提高了项目的质量。
以上就是我的学后感,希望得到大家的高见,共同学习,共同进步。
分享到:
相关推荐
DWR+Struts+spring+hibernate的订货系统,自己添加的dwr功能
简单struts+spring+hibernate搭建,配置,适合初学者
Struts1.2、Spring2.5和Hibernate3.2是经典的Java企业级开发框架组合,它们各自在应用程序的不同层次上发挥着重要作用。Struts1.2是一个MVC(Model-View-Controller)框架,主要负责处理用户界面与业务逻辑之间的...
项目原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6 二、 项目目的: 整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + ...
在IT行业中,SSH(Struts + Spring + Hibernate)是一个经典的Java Web开发框架组合,用于构建高效、可扩展的Web应用程序。本项目通过SSH框架实现了图书管理系统的图书修改和删除功能,下面将详细介绍这三个核心组件...
基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh...
基于spring实现的网上订餐系统(struts+spring+hibernate+SQL Server) 基于spring实现的网上订餐系统(struts+spring+hibernate+SQL Server) 基于spring实现的网上订餐系统(struts+spring+hibernate+SQL Server) 基于...
网上订餐系统(struts+spring+hibernate).rar 网上订餐设计主要采用采用MYSQL数据库进行数据表的设计,利用JSP的动态生成页面编程技术, 实现了用网络展示餐饮信息、浏览餐饮页面、注册客户、更改客户信息;同时,...
基于JavaWeb实现的图书管理系统(struts+spring+hibernate+SQL Server) 基于JavaWeb实现的图书管理系统(struts+spring+hibernate+SQL Server) 基于JavaWeb实现的图书管理系统(struts+spring+hibernate+SQL Server) ...
SSH三大框架,即Struts、Spring和Hibernate,是Java Web开发中的常用技术组合,它们各自负责不同的职责:Struts作为MVC模式中的Controller层,处理用户请求并转发到相应的业务逻辑;Spring则作为核心容器,负责依赖...
SSH(Struts+Spring+Hibernate)是一个经典的Java Web开发框架,用于构建高效、可扩展的企业级应用程序。这个教务管理信息系统是基于SSH框架实现的,提供了完整的源代码,可以直接运行,便于开发者学习和参考。 **...
Struts2+Spring+Hibernate 中的Action单元测试环境搭建 在软件开发中,单元测试是一种非常重要的测试方法,可以帮助我们确保代码的可靠性和稳定性。在 Struts2+Spring+Hibernate 框架中,对 Action 的单元测试环境...
Struts 2+Spring 3+Hibernate框架技术精讲与整合案例Struts 2+Spring 3+Hibernate框架技术精讲与整合案例Struts 2+Spring 3+Hibernate框架技术精讲与整合案例Struts 2+Spring 3+Hibernate框架技术精讲与整合案例...
Struts1.2+Spring2.0+Hibernate3.1Struts1.2+Spring2.0+Hibernate3.1Struts1.2+Spring2.0+Hibernate3.1Struts1.2+Spring2.0+Hibernate3.1
Struts2、Spring2.5和Hibernate3.2是Java Web开发中经典的三大框架,它们的整合使用在过去的许多年里被广泛应用于企业级应用系统。这个完整的项目提供了从开发环境到运行环境的所有必要组件,包括数据库脚本,使得...
农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts ...
标题和描述中指出的文档《Struts+Spring+Hibernate开发实例.pdf》包含了关于这三个流行的Java开源框架结合使用的示例代码和相关知识点。Struts负责视图与控制器部分,Spring负责业务逻辑层及依赖注入,Hibernate负责...
轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part1
struts2+spring2.5+hibernate3.2 + freemarker 全新功能实现的增删改查+freemarker 摸版 struts2 的方式自己去看简单。 spring2.5 是用注释来注入 hibernate3.2 是用ejb3注解映射关系 hibernate3 +个属性可以自动...
Struts 2+Spring 3+Hibernate框架技术精讲与整合案例3Struts 2+Spring 3+Hibernate框架技术精讲与整合案例3Struts 2+Spring 3+Hibernate框架技术精讲与整合案例3