SSH总结

定义

    SSH是Struts、Spring、Hibernate的一种集成框架,是目前较为流行的一种web应用程序开源框架,主要帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的web应用程序。

Struts

    一种基于JavaEE平台的MVC框架,是用来控制的。在struts框架的模型部分,负责业务跳转。Struts对model、view、controller都提供了对应的组件。Model部分由actionFrom和javaBean组成,其中actionForm用于将用户的请求参数封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。View采用jsp和struts标签库实现。controller有两个部分组成——系统核心控制器,业务逻辑控制器。系统核心控制器,对应上边的ActionServlet。该控制器继承了HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。


Spring

    主要是用来管理Struts和Hibernate,是一个轻量级的控制反转和面向切面的容器框架。这个具体可以参考博客Spring框架解析


Hibernate

    一种ORM框架,对JDBC进行了非常轻量级的对象封装,使得java程序员可以随心所欲得使用对象编程思维来操纵数据库。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。其中重点说一下SessionFactory.

    SessionFactory接口:SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。


SSH与SSM

    SSH与SSM就差一个字母,那他们之间到底有什么联系呢?

    SSM:Spring-MVC,Spring,MyBatis,详细的区别请clickSSH和SSM两个框架的浅显的区别


SSH配置文件说明

    Struts标签库:通过它可以存取对象的任艺术型、调用对象的方法、遍历整个对象的结构图,实现字段类型转换等功能。

    JSP:HTML文件插入java程序段和JSP标记。

    web.xml:struts核心过滤器和监听器。

    struts.xml:管理应用中的Action映射,以及Action处理结果和物理资源的映射。

    applicationContext.xml:spring配置文件,整合了struts和Hibernate。

    *.hbm.xml:ORM映射文件,实体和表的映射关系通过XML来描述的文件。

     


SSH框架优缺点

优点

1.SSH架构各层之间分工特别清晰,极大程度解耦合,灵活,可维护,可扩展。

2.spring管理对象的实例化,把对象的创建和获取放到了外部,更加灵活方便。

3.Hibernate避免了JDBC连接数据库的冗余复杂。

缺点

1.struts层面太多,对小应用不适用,远不如javaBean+JSP简洁快速。

2.spring使得jsp中要写很多代码,控制器过于灵活,缺少一个公用控制器。

3.Hibernate在处理批量数据时ORM框架不适用。


业务流程

    系统的基本业务流程是: 在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。

评论 79
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值