1. 什么是Spring MVC

Spring MVC 是 Spring 构建 Web 应用程序的全功能模块。它是一个基于Java的,实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。

2. Spring MVC的核心流程

SpringMVC以DispatcherServlet为核心,负责协调和组织不同组件以完成请求处理并返回响应的工作,实现了MVC模式。

下图为Spring MVC的运行流程:

SpringMVC项目使用HIkariCP springmvc实现_弹出框


流程说明:

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响应用户

3. 第一个Spring MVC的案例

该例子使用Spring MVC输出hello word

3.1 创建Spring MVC的项目

在Eclipse中,选择菜单【File】-》【New】-》【Project…】

SpringMVC项目使用HIkariCP springmvc实现_spring_02


在弹出框中,选择Maven目录下的Maven Project,然后单击【Next】按钮

SpringMVC项目使用HIkariCP springmvc实现_MVC_03


弹出框中单击【Next】按钮

SpringMVC项目使用HIkariCP springmvc实现_maven_04


在Filter输入框中输入web,选中maven-archetype-webapp,然后单击【Next】按钮

SpringMVC项目使用HIkariCP springmvc实现_弹出框_05


输入Group Id及Artifact Id,然后单击【Next】按钮,等待系统执行完成,项目创建成功

SpringMVC项目使用HIkariCP springmvc实现_弹出框_06


创建好后,项目结构如下:

SpringMVC项目使用HIkariCP springmvc实现_spring_07

3.2 为项目设置Tomcat

选中创建好的项目,单击右键,选择菜单【Build Path】-》【Configure Build Path】

SpringMVC项目使用HIkariCP springmvc实现_MVC_08


在弹出框中,选择【Add library】按钮

SpringMVC项目使用HIkariCP springmvc实现_mvc_09


选择 Server Runtime

SpringMVC项目使用HIkariCP springmvc实现_MVC_10


选择Tomcat版本

SpringMVC项目使用HIkariCP springmvc实现_弹出框_11


选择按钮【Apply and Close】,为当前项目应用该Tomcat

SpringMVC项目使用HIkariCP springmvc实现_mvc_12

3.3 加入需要的依赖

打开pom.xml配置文件,单击dependencies

SpringMVC项目使用HIkariCP springmvc实现_MVC_13


单击【Add】按钮

SpringMVC项目使用HIkariCP springmvc实现_MVC_14


在弹出框中输入 spring-w,选择检索结果中的spring-webmvc,单击【OK】按钮,并保存

SpringMVC项目使用HIkariCP springmvc实现_mvc_15

3.4 设置配置文件web.xml

打开src-》main-》webapp-》WEB-INF下的web.xml文件

SpringMVC项目使用HIkariCP springmvc实现_mvc_16


加入下面对控制器的配置内容

SpringMVC项目使用HIkariCP springmvc实现_spring_17

3.5 新建配置文件

在src-》main-》webapp-》WEB-INF文件夹上,右键单击,选择【New】-》【File】

SpringMVC项目使用HIkariCP springmvc实现_弹出框_18


在弹出框中输入新建的文件名

注意:文件名组成为 serveletName(web.xml文件中配置) + “-servlet.xml”

SpringMVC项目使用HIkariCP springmvc实现_MVC_19


打开新建的配置文件 springmvc-servlet.xml,加入下面配置

SpringMVC项目使用HIkariCP springmvc实现_弹出框_20

3.6 新建controller类文件

在src/main/java上右键单击,选择【New】-》【File】-》【Class】,在弹出框中输入类所在的包,及类名

SpringMVC项目使用HIkariCP springmvc实现_弹出框_21


在HelloWorldController.java中,输入如下代码:

SpringMVC项目使用HIkariCP springmvc实现_spring_22

3.7 新建前端显示用jsp页面

在src/main/webapp/WEB-INF/pages上右键单击,选择【New】-》【JSP File】,在弹出框中输入文件名

SpringMVC项目使用HIkariCP springmvc实现_mvc_23


输入jsp中的代码

SpringMVC项目使用HIkariCP springmvc实现_spring_24

3.8 将项目发布到Tomcat应用服务器中

在Tomcat上右键单击,选择【Add and Remove】

SpringMVC项目使用HIkariCP springmvc实现_mvc_25


在弹出框左侧的列表中,选中上面创建的项目,单击【Add】按钮

SpringMVC项目使用HIkariCP springmvc实现_spring_26


右侧框中显示资源,单击【Finish】完成

SpringMVC项目使用HIkariCP springmvc实现_MVC_27


单击箭头图标,执行程序

SpringMVC项目使用HIkariCP springmvc实现_弹出框_28


控制台显示如下信息,表明Tomcat启动成功

SpringMVC项目使用HIkariCP springmvc实现_maven_29


打开浏览器,输入url:localhost:8080/SpringMVC-HelloWorldProject/h,显示如下页面内容

SpringMVC项目使用HIkariCP springmvc实现_mvc_30