Springboot中的Controller解析

 更新时间:2023年09月21日 10:52:14   作者:ShineLee  
这篇文章主要介绍了Springboot中的Controller解析,Controller是SpringBoot的基本组件,也是MVC结构的组成部分,其作用是将用户提交来的请求通过URL匹配,分发给不同的接收器,该接收器会对其进行相应处理,然后返回处理结果,需要的朋友可以参考下

Controller

1、作用

Controller是SpringBoot的基本组件,也是MVC结构的组成部分,其作用是将用户提交来的请求通过URL匹配,分发给不同的接收器(具体的Controller),该接收器会对其进行相应处理,然后返回处理结果。

2、基本样式

一个经典的Controller类似下边这样:

package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping(value = "/api/user")
public class IndexController {
  @RequestMapping(value = {"index", "/"})
  public String index(Model model) {
    return "index";
  }
}

3、说明

@Controller

写于Controller类之前;

告知Spring容器这是一个Controller。

@RequestMapping

写于Controller类或Controller类中的某个方法之前;

表示这个类/方法负责处理哪个URL

Model model

处理URL的方法需要传入Model参数;

该参数的作用是向Model传递数据;

Model将来会传递给View显示出来。

return "index"

return "/registerResult"

函数返回值,表示要访问的文件名。

具体后缀取决于模板引擎,比如对于jsp就需要访问"index.jsp"文件

4、@RequestMapping作用

告诉Spring该方法或类是用于映射到哪个URL的,通常情况下可以添加如下信息:

@RequestMapping(
    value = "/test",
    params = {"name","userId"},
    method = {RequestMethod.GET},
    consumes = {"text/plain", "application/*"},
    produces = "text/plain",
    headers = "content-type=text/*"
)

分别表示

  • value:路径,类似"/action/info"这种;
  • params:参数;
  • method:请求方法——GET、POST、PUT……;
  • consumes:request请求提交的内容类型(Content-Type);
  • produces:返回内容的类型;
  • headers:Header等。

通常只需要value,有时可能会用到method表示请求方法,默认是RequestMethod.GET,有时可能是RequestMethod.POST

当注解作用于类时,类中所有方法都会在这个基础上再进行过滤。例如:

@Controller
@RequestMapping("/path1")
public class TestController {
  @RequestMapping("/path2")
  @ResponseBody
  public String index() {
    return "ok";
  }
}

这个函数就会匹配"/path1/path2"这个地址

到此这篇关于Springboot中的Controller解析的文章就介绍到这了,更多相关Springboot的Controller内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • RabbitMQ的Direct Exchange模式实现的消息发布案例(示例代码)

    RabbitMQ的Direct Exchange模式实现的消息发布案例(示例代码)

    本文介绍了RabbitMQ的DirectExchange模式下的消息发布和消费的实现,详细说明了如何在DirectExchange模式中进行消息的发送和接收,以及消息处理的基本方法,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • SpringBoot项目网页加载出现Whitelabel Error Page的解决

    SpringBoot项目网页加载出现Whitelabel Error Page的解决

    这篇文章主要介绍了SpringBoot项目网页加载出现Whitelabel Error Page的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Java实现枚举状态转换的方法详解

    Java实现枚举状态转换的方法详解

    在软件开发中,我们经常需要处理不同系统或模块间的状态转换,今天,我将通过一个电商订单与物流状态的转换案例,展示如何优雅地实现枚举间的互相转换,需要的朋友可以参考下
    2025-04-04
  • Java关于远程调试程序教程(以Eclipse为例)

    Java关于远程调试程序教程(以Eclipse为例)

    这篇文章主要介绍了Java关于远程调试程序教程(以Eclipse为例),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Java环境搭建Selenium代码自动化测试框架

    Java环境搭建Selenium代码自动化测试框架

    selenium是用来做web自动化测试框架,它支持各种浏览器(Chrome等),各种平台(Windows、Linux等),支持各种语言(Python、Java等),具有丰富的API,本文介绍了自动化测试的概念及其分类,重点介绍了Selenium自动化测试框架,包括其工作原理、环境搭建流程以及遇到问题的解决方法
    2026-01-01
  • SpringBoot3.X配置OAuth的代码实践

    SpringBoot3.X配置OAuth的代码实践

    在进行Java后端技术框架版本升级时,特别是将SpringBoot从2.X升级到3.X,发现对OAuth的配置有大幅变更,新版本中删除了多个常用配置类,本文给大家介绍SpringBoot3.X配置OAuth的相关知识,感兴趣的朋友一起看看吧
    2024-09-09
  • springboot启动时如何指定spring.profiles.active

    springboot启动时如何指定spring.profiles.active

    这篇文章主要介绍了springboot启动时如何指定spring.profiles.active问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • 手把手教你在eclipse创建第一个java web项目并运行

    手把手教你在eclipse创建第一个java web项目并运行

    Eclipse是用来做开发的自由集成开发环境,这也是很多java程序员会使用的开发环境,所以可以使用eclipse创建javaweb项目,下面这篇文章主要给大家介绍了关于如何在eclipse创建第一个java web项目并运行的相关资料,需要的朋友可以参考下
    2023-02-02
  • MAC 在类路径或引导类路径中找不到程序包 java.lang问题

    MAC 在类路径或引导类路径中找不到程序包 java.lang问题

    这篇文章主要介绍了MAC 在类路径或引导类路径中找不到程序包 java.lang问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • java DataInputStream和DataOutputStream详解及实例代码

    java DataInputStream和DataOutputStream详解及实例代码

    这篇文章主要介绍了java DataInputStream和DataOutputStream详解及实例代码的相关资料,需要的朋友可以参考下
    2017-01-01

最新评论