SSH & MVC

思考:

(1)SSH对应的MVC

(2)Struts的MVC,SpringMVC, Hibernate为什么没有MVC

 

一、SSH & MVC

下图为SSH对应的MVC,仅作参考:

Details(元素讲解及细节解说):

a.V,view,视图层;C,control,控制层;M,model,模型层=业务逻辑层+持久层

b.Struts:封装JSP+Servlet,故为V+C(分层不清楚,Action做了一些Model的东西时,会导致右偏,如下图)

c.Manager:业务逻辑层

d.Hibernate:持久层

e.Spring:

左至V的最左边,是考虑到Spring有自己的SpringMVC;

右至M的最右边,是考虑到它和Hibernate集成的时候,注入SessionFactory,涉及Session,直抵JDBC,故至M的最右边。(还有配置事务)

f.Spring可以独立于Struts和Hibernate之外,独成一体,也可以只和Struts结合,或只和Hibernate结合,或三者结合,或与其他框架结合,所以把它单独拿出来,放到了上面。

 

二、SSH内部的MVC

(1)Struts的MVC

第一步:用户发送request请求给核心控制器ActionServlet,它作为中心分发器,交给其他相应的Action处理。

第二步:ActionServlet根据ActionMapping中的配置信息(ActionMapping配置信息在核心配置文件struts-config.xml中),请求处理器的信息。

第三步:核心控制器交给相应的Action处理。

第四步:相应的Action调用后台的业务逻辑,最后返回ActionForward。

第五步:根据返回的ActionForward查找并跳转对应的视图(配置在struts-config.xml中)

第六步:解析相应的页面,渲染视图。

(2)SpringMVC

结构和Struts的MVC极其相似:

第一步:用户发送request请求给核心控制器DispatcherServlet,它作为中心分发器,交给其他的相应的action(controller)处理。

第二步:DispatcherServlet根据HandlerMapping中的配置信息(HandlerMapping配置信息在核心配置文件servletName-servlet.xml中),请求处理器的信息。

第三步:核心控制器交给相应的controller处理

第四步:相应的控制器调用后台的业务逻辑后,返回的ModuleAndView对象,其中的Module数据对象,View是视图对象

第五六步:根据返回的逻辑视图名查找视图解析器(同样也在核心文件中进行了配置),解析成相应的页面。

(3)Hibernate没有MVC?

主要功能是持久层;

没有页面;

可以很好的和其他MVC框架集成…

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值