SpringMVC框架设计原理与实现

一、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存活在容器的上下文中

猜你喜欢

转载自blog.csdn.net/tangyin_007/article/details/79992161