一、SpringMVC框架是什么
springmvc是一套封装网络请求的半封装Servlet框架,是站在巨人肩膀(JDK javax.servlet.*)上做下层
类的结构图:
二、Servlet规范
开发的时候读取很多项目源码部署--->肯定存在Servlet规范
SpringMVC框架就是以Servlet服务形式挂在web.xml当中被容器读取
web.xml配置:
<!--SpringMVC前端控制器-->
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web</servlet-class>
<!--servlet范围内参数,只能在servlet的init()方法中获取,在web.xml配置中如下-->
<init-param>
<description>:contextConfigLocation标识用于加载bean的配置文件</description>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:conf/spring/spring_mvc.xml</param-value>
</init-param>
<!--表示启动容器时初始化该servlet-->
<load-on-startup>1</load-on-startup>
</servlet>
三、SpringMVC和Tomcat的关系
四、SpringMVC的上下文
运行SpringMVC项目底层Bean组件(基础)支持体系(环境支持)
SpringMVC进行业务处理的时候构建一个Application,接受网络层请求的时候都需要它
业务逻辑处理层必须使用到的组件都封装在上下文中,由上下文来“介绍”
五、SpringMVC框架处理请求业务流程
第一步:javax.servlet.Servlet.HttpServlet.service()方法——请求方法类型转向分发————》
第二步:org.springframework.web.servlet.FrameworkServlet.service()方法————————》
第三步:avax.servlet.Servlet.servlet.service()方法————当中的处理常规的7种请求类型————》
第四步:org.springframework.web.servlet.FrameworkServlet.processRequest(HttpServletRequest request,HttpServletResponse response)方法——————————》
第五步:org.springframework.web.servlet.DispatcherServlet.doService()方法————————》
第六步:org.springframework.web.servlet.DispatcherServlet.doDispatcher———》真正的多业务处理
手写自己的SpringMVC的框架--设计思路
总结:为什么业务离不来WebApplicationContext-----WebApplicationContext存活在容器的上下文中