SSH和SpringMVC
来源:互联网 发布:批量修图软件 编辑:程序博客网 时间:2024/06/06 16:27
思考:
(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框架集成…
- SSH和SpringMVC
- springMVC和struts2(ssh)区别
- SSH(SPRINGMVC)
- SSH(一)---Spring框架概述和SpringMVC原理
- ssh:spring+springmvc+hibernate
- SSH(spring+springmvc+hibernate)
- 关于搭建restful web service + springMVC + ibatis/hibernate的整合和XML配置意思和ssh+springMVC框架搭建
- ssh整合以及springMVC讲解
- SSH+SpringMVC web.xml详解
- SSH(spring+springMVC+hibernate)配置
- SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,MyBatis)的区别
- SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,MyBatis)的区别
- SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,MyBatis)的区别
- SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,MyBatis)的区别
- SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,MyBatis)的区别
- SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,MyBatis)的区别
- SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,MyBatis)的区别
- SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,MyBatis)的区别
- sql server强行断开连接
- PL/SQL (关于oracle学习总结的说明)
- IT:从上网开始
- 关于HashMap的拷贝问题
- oracle用户密码过期以及解雇(expired)的处理
- SSH和SpringMVC
- (转)Linux网络编程(3):信号处理与定时机制简要学习
- matlab编程与工程应用(第二版) 第八章 元胞数组 笔记
- weka下运行libsvm的方法
- windows如何使用ssh登录ubuntu
- 软件文档编写向导
- Oracle Data Guard 环境配置
- 画图解释SQL联合语句
- LVDS技术原理和设计简介