ssm-03-spring-mvc-01-introduction
ssm-03-spring-mvc-01-introduction
MVC框架简介
在学习Spring MVC前,先来看看MVC框架。在经典的MVC模式中,M(Mode)指业务模型,V(View)指用户页面,C(Controller)指控制器,使用MVC的目的是让
M和V的代码实现解耦,从而使一个程序可以有不同的表现形式。
V(View):指用户看到并与之交互的界面;
M(Mode):指业务规则,返回了V视图所需的数据;
C(Controller):接受用户输入调用对应M模型处理业务,并返回对应V视图。
Spring MVC
通过Spring思想,将Web MVC整合,具有高度可配置等特点。随着前后端分离思想的推出,越来越多的企业已将V(View)由传统的JSP转向新一代的前端框架,如 VUE。下面通过简单的入门例子开始认识:
- 创建工程模块:
- 此时的干净工程目录结构如下:
- 接下来需要将工程改造-添加框架支持:
- 此时的工程目录结构如下:
- 配置pom文件:
- 修改web.xml:
- 配置applicationContext.xml:
- 创建Controller:
- 部署到tomcat并运行,浏览器中进行验证:




选择
Spring MVC和Maven



由于maven版本的原因,子模块pom配置用统一的version时,可能会包红线提示:Properties in parent definition are prohibited.
不过不影响工程的执行,如果有强迫症看不下去,可以升级maven版本,或者将父模块和子模块中的"version"改为"revision"。

在web.xml中,idea会自动为我们配置
dispatcher的初始化参数:contextConfigLocation,
其值为:/WEB-INF/applicationContext.xml,接下来会对其进行配置
<?xml version="1.0" encoding="UTF-8"?>

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
//@Controller配置声明的组件会被Spring自动装配
@Controller
public class TestController {
//@RequestMapping注解对应:RequestMappingHandlerMapping
@RequestMapping("/hello")
//@ResponseBody注解表示可以直接向前端返回java对象
@ResponseBody
public String test() {
//返回字符串
return "Hello world.";
}
}
