1. 什么是SpringMVC框架?
答:SpringMVC框架是基于Spring框架的,其实SpringMVC框架是Spring框架的一个模块,专门做Web开发,可以理解为:SpringMVC是对前面学习的Servlet的升级。
我们使用Servlet做Web开发是最原始的形式,但这也是最核心的。在Spring的学习过程中,我们是通过自定义类,让这个自定义类去继承HTTPServlet类,并且重写里面的doGet(),doPost()等方法且还要在web.xml文件中配置Servlet,这样才能去处理请求。虽然熟练了之后,觉得也没什么,但是整体上的步骤还是过于繁琐。
那么我们就开发了SpringMVC框架,这个SpringMVC框架不仅实现了Servlet的功能,并且在Servlet的基础上增加了一些其他更好用的功能,让我们的Web开发更加的容易,简洁。
2. SpringMVC框架的优点
首先,SpringMVC,也叫做Spring Web MVC,是在Spring3.0之后发布的。那么他的优点如下:
基于MVC架构,分工明确,解耦合
容易理解,上手快,使用简单。
是轻量级的,jar包很小,不依赖特定的接口和类
作为Spring的一部分,也能使用Spring的IOC和AOP核心技术,方便整合Mybatis
注意:
是否使用上面步骤3的DispatcherServlet,是决定你这个项目是否是SpringMVC的标准。
那么关于DispatcherServlet类,我们将仔细介绍。
3.1 DispatcherServlet类的详细介绍(重要)
DispatcherServlet,叫做中央调度器,也叫做前端控制器,是去调用其他控制器对象的,并且再由DispatcherServlet自身将结果返回给用户。我们要知道,在SpringMVC框架中使用的@Controller注解的这个类,它并不是Servlet类;使用@Controller注解创建出来的对象,只是一个最普通的对象,但是SpringMVC框架赋予了它一些额外的功能,我们只是把它当做Servlet,但他不是Servlet,他只是有Servlet相关的一些功能。
从下面的这一点可以印证,@Controller所在的类不是Servlet。
我们都知道jsp页面是跟Servlet直接进行交互的,但是跟jsp页面却不能跟@Controller所在的类直接交互,jsp只能通过DispatcherServlet将请求转发给@Controller所在的类。