一.什么是Spring Web MVC?
Spring Web MVC是基于ServletAPI构建的原始Web框架,从一开始就包含在Spring框架中.它的正式名称"Spring Web MVC"来自其源模块的名称(Spring-webmvc),但它通常被称为"Spring MVC".
二.MVC的定义
MVC是Model View Controller的缩写,它是软件工程中的一种软件架构设计模式,它把软件系统分为模型,视图和控制三个基本部分.
View(视图):指在应用程序中专门用来与浏览器进行交互,展示数据的资源
Model(模型):是应用程序的主体部分,用来处理程序中数据逻辑部分
Controller(控制器):可以理解为一个分发器,用来决定对于视图发来的请求,需要用哪一个模型来处理,以及处理完后需要跳回到哪一个视图.即用来连接视图和模型.
三.什么是Spring MVC?
MVC是一种架构设计模式,也是一种思想,而Spring MVC是对MVC思想的具体实现.除此之外,Spring MVC还是一个Web框架.
总结来说,Spring MVC是一个实现了MVC模式的Web框架
四.学习Spring MVC
既然是Web框架,那么当用户下浏览器中输入url之后,我们的Spring MVC项目就可以感知到用户的请求,并给予响应.
学习Spring MVC,重点也就是学习如何通过浏览器和用户程序进行交互.
主要分以下三个方面:
1.建立连接: 将用户(浏览器)和Java程序连接起来,也就是访问一个地址能够调用到我们的Spring程序.
2.请求: 用户请求的时候会带一些参数,在程序中要想办法获取到参数,所以请求这块主要是获取参数的功能
3.响应: 执行了业务逻辑之后,要把程序执行的结果返回给用户,也就是响应.
1.建立连接
在Spring MVC中使用@RequestMapping来实现URL路由映射,也就是浏览器连接程序的作用
创建一个UserController类,实现用户通过浏览器和程序的交互,具体实现代码如下:
package com.example.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
//路由器规则注册
@RequestMapping("/sayHi")
public String sayHi() {
return "hello Spring MVC";
}
}
方法名和路径名称无需一致
接下来访问: http://127.0.0.1:8080/sayHi ,就可以返回数据了
(1).@RequestMapping 注解介绍
@RequestMapping是Spring Web MVC应用程序中最常被用到的注解之一,它是用来注册接口的路由映射的.
表示服务器收到请求时,路径为/sayHi的请求就会调用sayHi这个方法的代码.
路由映射: 当用户访问一个URL时,将用户的请求对应到程序中某个类的方法的过程就叫路由映射.
(2).@RequestMapping 使用
@RequestMapping 既可以修饰类,也可以修饰方法,当修饰类和方法时,访问的地址是类路径+方法路径.
@RequestMapping标识一个类: 设置映射请求的请求路径的初始信息
@RequestMapping标识一个方法: 设置映射请求的请求路径的具体信息
@RequestMapping("/User") @RestController public class UserController { @RequestMapping("/sayHi") public String sayHi() { return "hello Spring MVC"; } }
访问地址: http://127.0.0.1:8080/User/sayHi
注意: @RequestMapping 的URL路径最前面加不加/都可以,Spring程序启动时,会进行判断,如果前面没加/,Spring会拼接上一个/