动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

亲测写Spring MVC框架步骤

08-25 17:42 81浏览
举报 T字号
  • 大字
  • 中字
  • 小字

我们学习过很多的Java开发框架,而Spring MVC是其中极具代表性的一个高度可配置的框架,自己想要写一个框架的话,Spring MVC无疑是一个好的选择。本文为大家讲一讲Spring MVC框架步骤。

SpringBoot之前,几乎所有的 Web 应用都是已 web.xml 为入口的,Spring MVC 也不例外,学习过 Servlet 的应该都理解,Spring MVC 其实就是对 Servlet 接口,Servlet 规范的一种实现。Servlet 提供了五个接口,其中两个接口最为核心,分别是 init 方法和 service 方法其实Spring MVC框架步骤没有们想的那么复杂三步就可以搞定话不说,直接进入题,来看一下Spring MVC框架步骤1

一、在写Spring MVC框架之前,必须要知道Spring MVC的工作流程及其核心组件:

1.用户发送请求至前端控制器DispatcherServlet。

    2.DispatcherServlet收到请求调用HandlerMapping处理器映射器。

    3.处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

    4. DispatcherServlet通过HandlerAdapter处理器适配器调用处理器。

    5.执行处理器(Controller,也叫后端控制器)。

    6.Controller执行完成返回ModelAndView。

    7.HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。

    8.DispatcherServlet将ModelAndView传给ViewReslover视图解析器。

    9.ViewReslover解析后返回具体View。

    10.DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。

    11.DispatcherServlet响应用户。

    从上面可以看出,DispatcherServlet有接收请求,响应结果,转发等作用。有了DispatcherServlet之后,可以减少组件之间的耦合度。

二、明确Spring MVC设计的思路

     由于是自己写的Spring MVC框架,所以在功能上肯定是有所欠缺的。可以根据自己的需求选择最重要的功能来开发。

    1、读取配置

    SpringMVC本质上是一个Servlet,这个 Servlet 继承自 HttpServlet。FrameworkServlet负责初始化SpringMVC的容器,并将Spring容器设置为父容器。

    为了读取web.xml中的配置,我们用到ServletConfig这个类,它代表当前Servlet在web.xml中的配置信息。通过web.xml中加载我们自己写的MyDispatcherServlet和读取配置文件。

       2、初始化阶段

       在前面我们提到DispatcherServlet的initStrategies方法会初始化9大组件,但是这里将实现一些SpringMVC的最基本的组件而不是全部,按顺序包括:

-加载配置文件

-扫描用户配置包下面所有的类

-拿到扫描到的类,通过反射机制,实例化。

-初始化HandlerMapping

3.运行阶段

每一次请求将会调用doGet或doPost方法,所以统一运行阶段都放在doDispatch方法里处理,它会根据url请求去HandlerMapping中匹配到对应的Method,然后利用反射机制调用Controller中的url对应的方法,并得到结果返回。按顺序包括以下功能:

-异常的拦截

-获取请求传入的参数并处理参数

-通过初始化好的handlerMapping中拿出url对应的方法名,反射调用

  • SpringMVC框架代码的实现

    不管是 Spring 还是 Spring MVC,又或是 Mybatis,Spring Data等等。其实在阅读源码或者自己实现的过程中会发现,这些提高开发效率的,封装型的框架,从头到尾离不开的就是 Java 的反射以及 Java 的动态代理。

结合反射以及AOP的思想,根据上面 Servlet 接口和 Spring mvc 流程的介绍以及平时对Spring MVC的使用,即使我们不看 Spring MVC 的源码其实也能把我们经常使用的功能简单的实现了。这里对于HandlerMapping 和 HandlerAdapter 我们也不需要设计的如此复杂,只需要实现我们平时最常用的一种就好。

本文我们只介绍思路,由于代码量过于庞大就不细细罗列出来了。总的来说,我们自己写Spring MVC框架步骤就和上面的三个步骤大同小异,了解Spring MVC框架的基本结构和工作原理,然后明确自己的设计思路,最后是代码的实现。至于代码部分,在本站的Spring MVC视频教程中有详细的讲解,想自己写一个Spring MVC框架的小伙伴绝不容错过哦!

0人推荐
共同学习,写下你的评论
0条评论
上善若水
程序员上善若水

16篇文章贡献85593字

作者相关文章更多>

推荐相关文章更多>

DOM渲染的详细过程

QCode09-04 14:38

CSS水平和垂直居中技巧大梳理

Code大师09-04 14:50

mui的input框在IOS系统下无法聚焦或点击多次才能聚焦

不写代码你养我啊08-23 11:14

推荐的-视.频播放器以及在线客服

不写代码你养我啊09-17 18:02

谈谈java多线程的三大特性

要学习了06-18 18:13

发评论

举报

0/150

取消