SpringMVC (一)基础

目录

SpringMVC

[一 简单使用](#一 简单使用)

[1 新建模块选择指定参数](#1 新建模块选择指定参数)

[2 创建实现类](#2 创建实现类)

[3 将项目启动](#3 将项目启动)

[4 运行结果:在浏览器当中响应执行](#4 运行结果:在浏览器当中响应执行)

[二 RequestMapping](#二 RequestMapping)

[三 请求限定](#三 请求限定)


SpringMVC

SpringMVC是Spring的web模块,用来开发Web应用,SpringMVC应用最终作为B/S,C/S模式下的Server端,Web应用的核心是处理HTTP响应。

Spring Web MVC 是构建在 Servlet API 上的原始 Web 框架,已被包含在内 在 Spring Framework 中。正式名称"Spring Web MVC", 来自其源模块的名称 (spring-webmvc)、 但它更通常被称为 "Spring MVC"。

一 简单使用

1 新建模块选择指定参数

2 创建实现类

java 复制代码
package org.example.spring04mvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * - @Controller:
 * 标记类作为控制器,处理HTTP请求。
 * - @ResponseBody:
 * 标记方法返回的数据直接写入HTTP响应体中,无需额外的处理。
 * - @RequestMapping:
 * 标记方法为控制器处理请求的方法。
 */
@Controller
public class helloController {
    @ResponseBody
    @RequestMapping("/hello")
    public String hello() {
        return "hello SpringMVC";
    }
}

@RestController 注解

  • 作用@RestController 是 Spring 4.0 引入的组合注解,相当于 @Controller + @ResponseBody

    • @Controller:标识该类为 Spring MVC 的控制器。

    • @ResponseBody:将方法的返回值直接写入 HTTP 响应体(通常是 JSON 或字符串),而不是跳转到视图页面。

java 复制代码
//@ResponseBody
//@Controller

@RestController
public class helloController {


    @RequestMapping("/hello")
    public String hello() {
        return "hello SpringMVC";
    }

}

3 将项目启动

java 复制代码
package org.example.spring04mvc;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;

@SpringBootApplication
public class Spring04MvcApplication {

    public static void main(String[] args) {

        SpringApplication.run(Spring04MvcApplication.class, args);
        
    }
}

4 运行结果:在浏览器当中响应执行

补充修改端口:

二 RequestMapping

路径映射:将方法与路径进行绑定,访问指定路径就执行指定方法进行处理。

路径位置通配符:

优先级:精确匹配 > ?> * > **

|------|----------|
| * | 匹配任意多个字符 |
| ** | 匹配任意多层路径 |
| ? | 匹配人以单个字符 |

三 请求限定

在Spring MVC中,请求限定(Request Mapping)是指通过特定的条件将HTTP请求映射到对应的控制器方法进行处理。主要通过@RequestMapping及其衍生注解实现,以下是部分的请求限定方式:

java 复制代码
package org.example.spring04mvc.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class RequestMappingControllerLimit {
    
    //请求方式
    @RequestMapping(value = "/limit", method = RequestMethod.DELETE)
    public String limit1() {
        return "limit1";
    }

    //请求参数
    @RequestMapping(value = "/limit2", params = {"name", "age=18"})
    public String limit2() {
        return "limit2";
    }

    //请求头
    @RequestMapping(value = "/limit3", headers = {"name"})
    public String limit3() {
        return "limit3";
    }

    //请求内容类型(下面举例表名浏览器必须携带json格式格式的数据)
    @RequestMapping(value = "/limit4", consumes = {"application/json"})
    public String limit4() {
        return "limit4";
    }

    //响应内容类型(下面举例浏览器只能接受json格式的数据)
    @RequestMapping(value = "/limit5", produces = "text/html;charset=utf-8")
    public String limit5() {
        return "<h2>limit5</h2>";
    }
}
相关推荐
硅的褶皱38 分钟前
对比分析LinkedBlockingQueue和SynchronousQueue
java·并发编程
MoFe142 分钟前
【.net core】天地图坐标转换为高德地图坐标(WGS84 坐标转 GCJ02 坐标)
java·前端·.netcore
季鸢1 小时前
Java设计模式之观察者模式详解
java·观察者模式·设计模式
Fanxt_Ja1 小时前
【JVM】三色标记法原理
java·开发语言·jvm·算法
萌新小码农‍1 小时前
Spring框架学习day7--SpringWeb学习(概念与搭建配置)
学习·spring·状态模式
Mr Aokey2 小时前
Spring MVC参数绑定终极手册:单&多参/对象/集合/JSON/文件上传精讲
java·后端·spring
14L2 小时前
互联网大厂Java面试:从Spring Cloud到Kafka的技术考察
spring boot·redis·spring cloud·kafka·jwt·oauth2·java面试
小马爱记录3 小时前
sentinel规则持久化
java·spring cloud·sentinel
地藏Kelvin3 小时前
Spring Ai 从Demo到搭建套壳项目(二)实现deepseek+MCP client让高德生成昆明游玩4天攻略
人工智能·spring boot·后端
一个有女朋友的程序员3 小时前
Spring Boot 缓存注解详解:@Cacheable、@CachePut、@CacheEvict(超详细实战版)
spring boot·redis·缓存