请选择 进入手机版 | 继续访问电脑版

SpringMVC总结

[复制链接]
大胆 发表于 2021-1-1 17:47:38 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
SpringMVC总结



SpringMVC先容

Spring MVC 属于SpringFrameWork的后续产物,已经融合在了Spring Web Flow内里。Spring框架提供了Web应用程序的全功能MVC模块,在Spring中可以实现对MVC框架插入式的开发,也就是说在Spring的根本上可以实现MVC的配置,而且也可以是Spring支持多视图技能(JSP、Velocity、Tiles、iText和POI)。MVC框架还分离了不同的脚色:控制器、模子对象、分派器、以及处置惩罚程序对象的脚色,这种分离可以使他们更容易进行定制。
web的请求过程


请求过程:前端发送请求,接下来进入web.xml文件,在web.xml文件中找到对应的servlet,然后用servlet调取service(这一层主要是做业务处置惩罚的)的代码,接下来由service调取dao(主要用于数据库的利用),利用完数据库返回到servlet,servlet转发大概重定向跳转到对应的页面,接下来前端进行数据展示就可以了。
整个过程中:dao层的利用用mybatis框架替代就可以了,servlet调取service,service调取dao这个对象的创建与管理过程,用Spring框架来取代,而SpringMVC框架主要替代servlet,也就是由请求到响应包罗请求的分配。
SpringMVC组件先容

既然SpringMVC使用来取代Servlet的框架,那也就是说Servlet能做那些事情,SpringMVC也可以做,比如说担当参数,调取service代码,跳转页面,但是相比力于servlet,SpringMVC进行了代码封装,实现会更简单一些。之所以可以提供这些功能的原因使SpringMVC提供了相应的组件。
常用组件
DispatcherServlet:作为前端控制器,整个流程的控制中心,控制其他组件执行,统一调理,低沉组件之间的耦合性,提高每个组件的扩展性。比如说,我们之前想要走到某一个servlet就需要走web.xml文件,在web.xml文件中根据地址找对应的servlet ,而现在这一过程就成为DispacherServlet所做的事情了。
HandlerMapping:通过扩展处置惩罚器映射器实现不同的映射方式,比方:配置文件方式,实现接口方式,注解方式等。比如,现在一个请求地址过来之后,应该走哪一个处置惩罚类,那么在这个查找的过程中就需要HanderMapping来进行焦点利用。
HandlerAdapter:通过扩展处置惩罚器适配器,支持更多类型的处置惩罚器,调用处置惩罚器通报参数等工作。比如,在之前servlet中如果页面通报过来一个参数(数值,字符串,字母),比如前端通报过来一个年岁,servlet中需要用getParameter这个方法来的到参数但的到的参数还是一个String类型,这时候我们还需要一个转换,但是在HandlerAdapter中可以自动进行转换,所以代码会相对简介一些。
ViewResolver:通过扩展视图剖析器,支持更多类型的视图剖析,比方:jsp、freemarker、pdf、excel。
MVC执行过程


MVC请求与相应的过程:1.首先当客户端发出一个请求之后,先执行DispatcherServlet(前端控制器),他是配置在servlet-name中的,本质上来说他就是一个框架已经界说好的servlet,2.在这个servlet代码里首先他需要执行一下寻找处置惩罚器的过程通过HandlerMapping(实现不同的映射方式,简单来说就是类和请求的匹配),找到对应的处置惩罚器之后,3. 就是调用处置惩罚器(在MVC中处置惩罚器统一称之为控制器Controller,controller等价与原来的servlet),4. 接下来Controller调取模子处置惩罚业务(xxxService),调用完之后回到Controller,这时候Controller就需要执行跳转页面的任务了,5. 这时候就需要一个工具类ModelAndView(Model指的是模子也就是数据,view就是视图),效果就之后返回给DispatchServlet,6. DispatchServlet接收到ModelAndView返回的数据后通过工具类ViewResolver来判定要跳转到哪一个页面,7. 将模子数据传给View展示,View整合完之后,8.响应给前端
注意:DispatcherServlet在这个请求与响应的过程中是一个焦点的部分。

来源:https://blog.csdn.net/weixin_41704268/article/details/112000477
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )