SpringMVC总结

SpringMVC介绍

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

web的请求过程

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请求和响应的过程
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在这个请求与响应的过程中是一个核心的部分。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值