Spring MVC介绍

什么是Spring MVC

Spring MVC 全名是 Spring Web MVC,简称 Spring MVC或者 Spring Web.
Spring MVC 是基于Servlet API的web框架,从一开始Spring框架是包含Spring MVC部分,也就是说Spring MVC是Spring 框架的一部分。

了解 MVC

MVC的英文全称是 Model View Controller,它是软件工程的软件架构模式,它把软件系统分为视图,模型,控制器三个部分。
在这里插入图片描述
model :程序逻辑部分
controller:前后端交互部分
view: 页面显示部分

MVC 和Spring MVC的联系

MVC只是软件架构模式,是一种思想,而Spring MVC这是MVC的一种具体的实现。

如何创建一个Spring Web项目

创建Spring Web项目的创建方式有很多种,这里介绍通过Spring Boot来创建一个Spring Web项目

通过Spring Boot来创建Spring Web 项目是一个非常简单的是,我们只需要在添加依赖的步骤添加一个Spring Web依赖就可以了
在这里插入图片描述

在Spring Web 项目中,如何连接Http请求

我们在学习Serlvet API的时候,是通过@WebServlet()来配置路由的。

而我们在使用Spring MVC的时候,则是通过@RequestMapping()这个注解来配置路由。

@RequestMapping()注解的作用:只有一个,就是用来配置路由,用来连接http请求

@RequestMapping()注解可以放在类前,也可以放在方法前。放在类前表示一级路径,放在方法前表示二级路径

有了@RequestMapping()注解还不够,还要加一个类注解@Controller,让Spring容器能够加载该类。

@RequestMapping("/user")
@Controller
public class UserController {
   

    @RequestMapping("/m")
    public String user() {
   
        return "ok";
    }
}

这样写还是有一些问题,这样写默认返回的并不是ok这个信息,而是一个视图,根我们想的不太一样。如何返回信息能?

使用@ResponseBody可以解决这个问题

@RequestMapping("/user")
@Controller
@ResponseBody
public class UserController {
   

    @RequestMapping("/m")
    public String user() {
   
        return "ok";
    }
}

@ResponseBody注解的用法:
@ResponseBody注解可以作用在类前,也可以作用在方法前
@ResponseBody注解作用在类前表示该类里面设置的路由返回的都是数据不是视图
@ResponseBody注解作用在方法前表示只有该路由返回的是数据不是视图

如果,我们觉得写@Controller,@ResponseBody这两个注解太麻烦了,这里还有一个组合注解包含了这两个部分:@RestController注解

  @RestController
public class UserController {
   
    @PostMapping("/user")
    public String user() {
   
        return "ok";
    }
}

@Controller注解可以用其他类注解代替吗

不能,虽然五大类注解都可把对象交给Spring容器进行管理,但是,五大类注解不仅仅只有这个功能,他们分工明确,@Controller是用来进行前后端交互的,其他类注解是无法替代。

连接其他类型的请求

@RequestMapping()注解比较强大,默认情况下,get和post类型的请求都可以连接
【连接get请求】

//方法一
@RequestMapping("/user")
//方法二
@RequestMapping(value = "/user",method = RequestMethod.GET)
//方法三
@GetMapping("/user")

【连接post请求】

//方法一
@RequestMapping("/user")
//方法二   
@RequestMapping(value = "/user",method = RequestMethod.POST)
//方法三
@PostMapping("/user&
  • 9
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值