首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。
集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层(实体层)。
Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持。Spring一方面作为一个轻量级的IoC容器,负责查找、定位、创建和管理对象及对象之间的依赖关系,另一方面能使Struts和Hibernate更好地工作。
由SSH构建系统的基本业务流程是:
1、在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。
2、在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。
3、在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。
下面我们再详细看一下组成SSH的这三个框架
一、Spring
1、什么是Spring?
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
2、Spring的特性
具体自己百度吧
所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码
3、为什么使用Spring?
Spring的以上特性使得开发人员使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
二、Struts
1、什么是Struts?
它通过采用 Java Servlet/JSP 技术,实现了基于Java EEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。
2、Struts1的核心构成
在 Struts1 中,由一个名为 ActionServlet 的 Servlet 充当 控制器(Controller)的角色,根据描述模型、视图、控制器对应关系的 struts-config.xml 的配置文件,转发视图(View)的请求,组装响应数据模型(Model)。
在 MVC 的模型(Model)部分,经常划分为两个主要子系统(系统的内部数据状态与改变数据状态的逻辑动作),这两个概念子系统分别具体对应 Struts 1里的 ActionForm 与 Action 两个需要继承实现超类。在这里,Struts 1可以与各种标准的数据访问技术结合在一起,包括Enterprise Java Beans(EJB), JDBC 与 JNDI。
在 Struts 1的视图(View) 端,除了使用标准的JavaServer Pages(JSP)以外,还提供了大量的标签库使用,同时也可以与其他表现层组件技术(产品)进行整合,比如 Velocity Templates,XSLT 等。
通过应用 Struts 的框架,最终用户可以把大部分的关注点放在自己的业务逻辑(Action)与 映射关系的配置文件(struts-config.xml)中。
3、Struts1的基本执行流程
4、什么是struts2
Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品
5、strut2的体系结构
解析:
当Web容器收到请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括 流程(ActionContextCleanUp)过滤器,然后经过Other filters(SiteMesh ,etc),
接下来需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求那个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。
接下来FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager) 从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象,ActionInvocation在调用Action之前会依次的调用所用配置拦截器(Interceptor N) 一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个Result Result会调用一些模版(JSP)
来呈现页面,之后拦截器(Interceptor N)会在被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和(核心控制器)(FilterDispatcher)。
6、为什么使用Struts?
首先,Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展,减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化
另外, struts具有页面导航功能,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
7、 Struts1和Struts2的区别
三、Hibernate
1、什么是Hibernate?
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任
2、Hibernate核心构成
具体就不展开了
3、Hibernate基本执行流程
为什么使用Hibernate?
1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
2、Hibernate是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作,将软件开发人员从大量相同的数据持久层相关编程工作中解放出来,使开发更对象化了。
3、移植性好,支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码。
4、支持透明持久化,因为hibernate操作的是纯粹的(pojo)java类,没有实现任何接口,没有侵入性。所以说它是一个轻量级框架。
相关推荐
绝好的图文并茂SSH框架总结文档,图文并茂!
总结来说,SSH框架结合了Struts的MVC模式、Spring的依赖注入和全面的后端解决方案,以及Hibernate的对象关系映射能力,为Java Web开发提供了一个强大、结构清晰的框架。这种框架模式有助于提高开发效率,降低维护...
感觉还不错,所以供大家分享,针对SSH框架做了详细的解释,便于学习
ssh框架总结 struts2,hibernate,spring,上课用的.最后将所学的所有的知识总结了
SSH框架是Java开发中常用的三大框架整合,包括Spring、Struts和Hibernate。这些框架的结合为开发者提供了便捷的MVC(Model-View-Controller)架构支持,极大地提高了开发效率和代码质量。 **Spring框架** 是核心,...
SSH框架是Java开发中常用的三大框架,包括Struts、Spring和Hibernate。它们分别负责MVC模式中的表现层、业务逻辑层和数据访问层。本文主要总结了如何在Eclipse环境中搭建SSH整合框架。 首先,搭建SSH框架的基础环境...
一次下载,SSH2框架的搭建步骤 全部文档资料都有。 对于新手来说,独自完成一个完整正确的SSH框架可能是一个相当困难麻烦的事。...SSH框架总结 Myeclipse10下搭建SSH框架(图解)Struts2.1 + Spring3.0 + Hibernate3.3等
SSH框架错误总结 SSH框架是基于Java的Web应用程序框架,广泛应用于企业级应用开发中。然而,在开发和调试过程中,经常会遇到各种错误和问题。本文总结了SSH框架常见的错误和解决方法,以便开发者快速解决问题,提高...
SSH框架的结合使用,使得开发者可以利用Struts的MVC架构、Spring的依赖管理和事务处理,以及Hibernate的ORM能力,构建出高效、稳定、易于维护的Java Web应用。在实际项目中,这三者通常配合使用,以实现业务逻辑、...
总结来说,SSH框架集合提供了企业级应用开发的强大工具,Spring负责整体协调,Struts处理Web请求和展现逻辑,Hibernate则负责数据的持久化。这三大框架的结合,使得开发者能够更高效地构建复杂的应用程序,同时降低...
一次下载,全部SSH框架文档资料都有。 对于新手来说,独自完成一个完整正确的SSH框架可能是一个相当困难麻烦的事。...SSH框架总结,Myeclipse10下搭建SSH框架(图解)Struts2.1 + Spring3.0 + Hibernate3.3等
总结来说,SSH框架整合是Java Web开发中的高效工具,通过合理整合这三个框架,可以实现松耦合、高可维护性的应用。这个"SSH框架整合jar包"则是为了进一步简化开发者的任务,提供了一个便捷的起点。在使用过程中,...
总结,这个商贸项目提供的SSH框架实现代码是一个宝贵的教育资源,可以帮助开发者深入理解SSH框架的实战应用,提升Java Web开发技能。通过分析和实践,不仅可以掌握SSH框架的精髓,还能提高解决实际问题的能力。
总结来说,"基于SSH框架的员工管理系统"是一个利用Struts2处理Web请求,Spring管理业务逻辑和对象依赖,Hibernate负责数据库操作的Java Web项目。它为企业级应用开发提供了强大而稳定的支撑,实现了对员工信息的有效...
总结来说,SSH框架整合涉及到的主要知识点包括:Struts2的动作调度、拦截器机制、结果类型;Spring的依赖注入、AOP、事务管理;以及Hibernate的对象映射、数据访问。通过合理配置和调优,SSH能够帮助开发者高效地...
总结来说,"Eclipse搭建SSH框架开发学习笔记"涵盖了从基础环境准备(JDK安装与环境变量配置)、开发工具(Eclipse与Tomcat配置)、数据库(MySQL服务器搭建)到系统服务管理等多个环节,为初学者提供了详尽的步骤...
SSH框架的集成需要引入一系列的依赖库。例如,`spring.jar`是Spring的核心库,`struts2-core.jar`和`xwork-core.jar`是Struts2的核心组件,`mysql-connector-java.jar`用于连接MySQL数据库,`struts2-spring-plugin....
### SSH框架知识总结 #### 一、框架概念与特性 **框架**是一种预先设计好的软件架构,用于构建特定类型的软件应用程序。它定义了一组规则,这些规则指导着应用程序的结构和组件之间的交互方式。框架通常包含一系列...