加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

2019最新Java Web J2EE下的两大框架SSH和SSM对比

发布时间:2019-04-30 06:46:39 所属栏目:建站 来源:IT技能提升
导读:当下风行的两种企业开拓MVC开源框架,是我们Java措施猿必备常识手段。MVC,即模子(model)-视图(view)-节制器(controller)的缩写,一种软件计划规范,用一种营业逻辑、数据、界面表现疏散的要领组织代码,将营业逻辑聚积到一个部件内里,在改造和本性化定

当下风行的两种企业开拓MVC开源框架,是我们Java措施猿必备常识手段。MVC,即模子(model)-视图(view)-节制器(controller)的缩写,一种软件计划规范,用一种营业逻辑、数据、界面表现疏散的要领组织代码,将营业逻辑聚积到一个部件内里,在改造和本性化定制界面及用户交互的同时,不必要从头编写营业逻辑。框架之以是风行,在于其易复用和简化开拓,精华在头脑,把握了焦点头脑,我们把握其他相同框架也不会有题目,提议各人有精神的话读一下框架源码,尤其是spring。

SSH和SSM界说

SSH 凡是指的是 Struts2 做节制器(controller),spring 打点各层的组件,hibernate 认真耐久化层。

SSM 则指的是 SpringMVC 做节制器(controller),Spring 打点各层的组件,MyBatis 认真耐久化层。

配合点:1.Spring依靠注入DI来打点各层的组件。2.行使面向切面编程AOP打点事物、日记、权限等。

差异点:1.Struts2 和 SpringMVC 节制器(controller)节制视图和模子的交互机制的差异,

Struts2是Action类级别,SpringMVC是要领级别,更轻易实现RESTful气魄威风凛凛。

SSH 和 SSM 的实现道理

1.Struts2 的实现道理

2019最新Java Web J2EE下的两大框架SSH和SSM比拟

Struts2框架执行步调(Struts2行使Filter嵌入):

1、客户端初始化一个指向Servlet容器(譬喻Tomcat)的哀求

2、这个哀求颠末一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对付Struts2和其他框架的集成很有辅佐

3、接着FilterDispatcher被挪用,FilterDispatcher扣问ActionMapper来抉择这个哀求是否必要挪用某个Action

4、假如ActionMapper抉择必要挪用某个Action,FilterDispatcher把哀求的处理赏罚交给ActionProxy

5、ActionProxy通过Configuration Manager扣问框架的设置文件,找到必要挪用的Action类

6、ActionProxy建设一个ActionInvocation的实例。

7、ActionInvocation实例行使定名模式来挪用,在挪用Action的进程前后,涉及到相干拦截器(Intercepter)的挪用。

8、一旦Action执行完毕,ActionInvocation认真按照struts.xml中的设置找到对应的返回功效。返回功效凡是是(但不老是,也可 能是其它的一个Action链)一个必要被暗示的JSP可能FreeMarker的模版。

9、将处理赏罚功效返回给客户端

2.SpringMVC 的实现道理

SpringMVC框架执行步调(SpringMVC行使Servlet嵌入):

1、客户端发出一个http哀求给web处事器,web处事器对http哀求举办理会,假如匹配DispatcherServlet的哀求映射路径(在web.xml中指定),web容器将哀求转交给DispatcherServlet.

2、DipatcherServlet吸取到这个哀求之后将按照哀求的信息(包罗URL、Http要领、哀求报文头和哀求参数Cookie等)以及HandlerMapping的设置找处处理赏罚哀求的处理赏罚器(Handler)。

3-4、DispatcherServlet按照HandlerMapping找到对应的Handler,将处理赏罚权交给Handler(Handler将详细的处理赏罚举办封装),再由详细的HandlerAdapter对Handler举办详细的挪用。

5、Handler对数据处理赏罚完成往后将返回一个ModelAndView()工具给DispatcherServlet。

6、Handler返回的ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet通过ViewResolver将逻辑视图转化为真正的视图View。

7、Dispatcher通过model理会出ModelAndView()中的参数举办理会最终揭示出完备的view并返回给客户端。

Hibernate 和 MyBatis 两种ORM框架比拟

两者的沟通点

Hibernate与MyBatis都可所以通过SessionFactoryBuider由XML设置文件天生SessionFactory,然后由SessionFactory 天生Session,最后由Session来开启执行事宜和SQL语句。个中SessionFactoryBuider,SessionFactory,Session的生命周期都是差不多的。

Hibernate和MyBatis都支持JDBC和JTA事宜处理赏罚。

两者各自上风

MyBatis可以举办更为过细的SQL优化,可以镌汰查询字段。

MyBatis轻易把握,而Hibernate门槛较高。

Hibernate的DAO层开拓比MyBatis简朴,Mybatis必要维护SQL和功效映射。

Hibernate对工具的维护缓和存要比MyBatis好,对增编削查的工具的维护要利便。

Hibernate数据库移植性很好,MyBatis的数据库移植性欠好,差异的数据库必要写差异SQL。

Hibernate有更好的二级缓存机制,可以行使第三方缓存。MyBatis自己提供的缓存机制不佳,更新操纵不能指定革新指定记录,会清空整个表,可是也可以行使第三方缓存。

Hibernate 封装性好,屏障了数据库差别,自动天生SQL语句,应对数据库变革手段较弱,SQL语句优化坚苦。

MyBatis仅实现了SQL语句和工具的映射,必要针对详细的数据库写SQL语句,应对数据库变革手段较强,SQL语句优化较为利便。

总结

SSM和SSH差异首要在MVC实现方法,以及ORM耐久化方面差异(Hiibernate与Mybatis)。SSM越来越轻量级设置,将注解开拓施展到极致,且ORM实现越发机动,SQL优化更轻盈;而SSH较注重设置开拓,个中的Hiibernate对JDBC的完备封装更面向工具,对增编削查的数据维护更自动化,但SQL优化方面较弱,且入门门槛稍高。

【编辑保举】

  1. 开拓者为什么不肯意参加开源孝顺?不只是钱的缘故起因
  2. 运维、开拓、测试等IT岗亭薪酬系统大果真!你拖后腿了吗?
  3. 泄漏公司源代码造成超百万丧失,大疆前员工被罚20万、获刑半年
  4. 坑爹!花2亿耗2年,网站没建完Java写欠好,咨询公司埃森哲被告了
  5. 开拓漫衍式SQL数据库的6种技能挑衅
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读