首页 / 军事 / 武器装备 / 正文

ssh框架(解析SSH和SSM两大框架的组成及其区别)

放大字体  缩小字体 来源:郑州4s店 2026-04-15 13:35  浏览次数:7

前言

SSH 通常指的是 Struts2 做前端控制器,Spring 管理各层的组件,Hibernate 负责持久化层。
SSM 则指的是 SpringMVC 做前端控制器,Spring 管理各层的组件,MyBatis 负责持久化层。

二、SSH 和 SSM 的实现原理

Struts2框架执行过程:

2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin

4、如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy

6、ActionProxy创建一个ActionInvocation的实例

8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版

2.SpringMVC 的原理

1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet

3、DispatcherServlet根据HandlerMapping找到对应的Handler,并返回

5、处理器适配器执行Handler

7、处理器适配器向前端控制器返回ModelAndView
ModelAndView是springmvc框架的一个底层对象,包括Model和View

9、视图解析器向前端控制器返回View

11、前端控制器向用户响应结果

Hibernate框架执行过程:

2.由hibernate.cfg.xml中的读取并解析映射信息

4.sessionFactory.openSession();//打开Sesssion

6.persistent operate持久化操作

8.关闭Session

4、MyBatis原理

1、配置MyBatis的配置文件,SqlMapConfig.xml(名称不固定)

3、通过SqlSessionFactory创建SqlSession,SqlSession 是一个面向用户接口(提供操作数据库方法),实现对象是线程不安全的,建议sqlSession应用场合在方法体内

5、释放资源,关闭SqlSession

1.springmvc和struts2都是负责取转发的,但是两者针对request的请求上面区别很大。springmvc是针对于方法级别的请求的,也就是一个方法对应于一个请求,属于方法拦截,请求的数据方法不共享;而struts2则是针对一个Action类来进行请求的,即一个Action类对应于一个请求,所以类拦截,请求的数据类共享

3.springmvc的配置文件相对struts2来说较为少,容易上手,可以加快软件开发的速度

相同之处

2.Hibernate和MyBatis都支持JDBC和JTA事务处理

1.Hibernate是一种O/R关系型,即完成数据库表和持久化类之间的映射,而MyBitas是针对的SQL-Maping,个人理解是一种Hibernate把数据库给封装好以后,可以调用相应的数据库操作语句HQL,而MyBitas则是用的原始的数据库操作语句

3.Hibernate优化起来相对MyBitas较难,而且Hibernate掌握起来相对MyBitas较难,但是Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL

SSM和SSH相同之处在于都是用Spring依赖注入DI来管理各层的组件,并且都是使用面向切面编程AOP来管理事物、日志、权限等。不同之处在于MVC实现方式,以及ORM持久化方面不同(Hiibernate与Mybatis)。SSM越来越轻量级配置,将注解开发发挥到极致,且ORM实现更加灵活,SQL优化更简便;而SSH较注重配置开发,其中的Hiibernate对JDBC的完整封装更面向对象,对增删改查的数据维护更自动化,但SQL优化方面较弱,且入门门槛稍高。

如果觉得不错有帮助的,可以转发点赞关注一下。谢谢!

打赏
0相关评论
热门搜索排行
精彩图片
友情链接
声明:本站信息均由用户注册后自行发布,本站不承担任何法律责任。如有侵权请告知立立即做删除处理。
违法不良信息举报邮箱:115904045
头条快讯网 版权所有
中国互联网举报中心