Spring MVC 工作原理

springMVC

Spring的MVC框架是围绕DispatcherServlet来设计的,它用来处理所有的HTTP请求和响应。

工作原理

第1步:浏览器发送指定的请求都会交给DispatcherServlet,他会委托其他模块进行真正的业务和数据处理 第2步:DispatcherServlet会查找到HandleMapping,根据浏览器的请求找到对应的Controller,并将请求交给目标Controller 第3步:目标Controller处理完业务后,返回一个ModelAndView给DispatcherServlet 第4步:DispatcherServlet通过ViewResolver视图解析器找到对应的视图对象View 第5步:视图对象View负责渲染,并返回到浏览器

启动流程

当tmocat启动后,会自动的读取xml配置文件。首先读DispatcherServlet,还有其他配置的位置。

在spring MVC中的启动类会执行:读取xml,用DOM操作读取自定义标签,这里面有controller的那个扫描范围。当读取到扫描范围之后,他就会去所有包下面扫描所有文件,把那个.class文件拿出来,根据路径进行反射,获取到每个类的信息,然后挑出带有controller注解的类的信息,然后挑带有requestmapping的,将这两个的value进行拼接成一个url,然后获取那个类和方法的实例,然后再把url为key,方法实例当作value存入到hashmap中。

请求流程

tomcat收到请求后,是没办法给controller的,所以会先发给DispatcherServlet,DispatcherServlet会提取那个url,根据提取的url和hashmap进行匹配,匹配成功的话,就拿出实例,进行代理去执行对应的Method方法。

DispatcherServlet作用

在使用springMVC的时候,和前台对接的是controller,但是tomcat它并不会识别controller,也就没有办法和前台对接,所以需要DispatcherServlet当作一个中转的。

controller入参的可以是对象类型,httprequest参数是如何转化为对象的?

借助java的反射,将参数对象进行反射,然后和请求的参数进行匹配,key一样就把请求参数赋值给对象的域的值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值