用于创建此对象的程序是package_springMVC简单程序流程分析

830d1621441d2d6193e5755f8c005845.png

springMVC简单程序流程分析

第一部分

1.启动服务器,加载web.xml

当启动服务器的时候,就会加载web.xml文件,载入下面这段代码

dispatcherServletorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:applicationContext.xml1dispatcherServlet*.do12345678910111213

2.创建dispatcherServlet对象

当有load-on-startup标签的时候,1表示servlet会在服务器启动的时候加载,

11

tomcat中就会有一个dispatcherServlet对象,然后调用init方法,根据name参数名获取value参数值,根据spring的配置路径就会去加载spring的配置文件,同时创建spring核心容器

3.创建spring核心容器,生成对象

在配置文件applicationContext.xml中,载入下面这段代码

    123456

根据component-scan标签,去扫描base-package路径下的所有的类和其中的类上的注解,比如Controller类中的@Controller或@RestController,Service类中的@Service注解,并进行IOC控制反转和DI依赖注入,生成对应的对象,存储在spring核心容器中.而导入application-mybatis.xml则是为了整合mybatis

如果需要使用视图解析器时,也会在spring核心容器中生成视图解析器对象

    123456

此时第一部分结束了,而在我们的spring核心容器中生成了3个对象.分别是controller对象,scervice对象,viewResolver对象

第二部分

1.客户端发送请求

http://localhost:8080/aaa/bbb.do1

还记得web.xml文件中的servlet-mapping标签吗,当url-pattern为*.do时,映射路径则以.do后缀,当url-pattern为 / 时,则表示没有后缀

dispatcherServlet*.do1234

回到客户端发送请求上面,这段请求会被dispatcherServlet对象接收并分发.它会截取.do之前的/aaa/bbb部分,并去Controller类中匹配对应@RequestMapping注解的值.找到对应的方法.

2.执行Controller类中对应的方法

执行方法,如果需要请求转发跳转页面,则会在spring核心容器中找到视图解析器对象,配置前后缀,并找到对应的页面进行跳转.显示最终的网页数据.

小结

本案例为简单程序的springMVC流程分析,具体的springmvc请求响应执行流程中,除了前端控制器DispatcherServlet,视图解析器ViewResolver外,还有处理器映射器HandlerMapping,处理器适配器HandlerAdapter分别执行程序,显示出最终的视图.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值