SpringMVC——建立连接

建立连接

将用户(浏览器)和java程序连接起来,也就是访问一个地址能够调用到我们的Spring程序。在 Spring MVC 中使用 @RequestMapping来实现URL 路由映射,也就是浏览器连接程序的作用。


1.@RequestMapping注解介绍

  • @RequestMapping :它是用来注册接口的路由映射的注解。当用户访问一个URL时,将用户的请求对应到程序中某个类的某个方法 的过程就叫路由映射。
  • @RestController:与@RequestMapping 一起使用。 ⼀个项目中, 会有很多类, 每个类可能有很多的方法, Spring程序怎么知道要执行哪个方法呢?Spring会对所有的类进行扫描, 如果类加了注解@RestController, Spring才会去看这个类里面的方法有没有加 @RequestMapping 这个注解。如果不写@RestController会出下如下报错:

2.@RequestMapping注解使用

访问方法:类路径 + 方法路径

java 复制代码
@RequestMapping("/user")
@RestController
public class UserController {
    @RequestMapping("/sayHi")
    public String sayHi(){
        return "hello,Spring MVC";
    }
}
java 复制代码
@RequestMapping("/user/m1")
@RestController
public class UserController {
    @RequestMapping("/say/hi")
    public String sayHi(){
        return "hello,Spring MVC";
    }
}
  • 注1:@RequestMapping 的URL 路径最前面加不加 / (斜杠)都可以, Spring程序启动时, 会进行判断, 如果前面没有加 / , Spring会拼接上⼀个 / (通常情况下, 我们加上 /)
java 复制代码
@RequestMapping("user")
@RestController
public class UserController {
    @RequestMapping("sayHi")
    public String sayHi(){
        return "hello,Spring MVC";
    }
}

3. @RequestMapping 既支持Get请求, 又支持Post请求

可显示的指定@RequestMapping 来接收POST请求

java 复制代码
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@RestController
public class UserController {
    @RequestMapping(value = "/getRequest",method= RequestMethod.POST)
    public String sayHi(){
        return "get request...";
    }
}

可显示的指定@RequestMapping 来接收GET请求

java 复制代码
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@RestController
public class UserController {
    @RequestMapping(value = "/getRequest",method= RequestMethod.GET)
    public String sayHi(){
        return "get request...";
    }
}

4.GetMapping

和@RequestMapping相同用法,但专门支持Get请求

5.PostMapping

和@RequestMapping相同用法,但专门支持Post请求

注意:客户端(浏览器)传过来的数据会自动进行类型转换(但不一定成功)

相关推荐
xieliyu.7 天前
Java 文件IO :File 文件类、字节流、字符流讲解
java·ide·笔记·javaee
xieliyu.14 天前
Java 线程池入门详解:线程池基础定义 + ThreadPoolExecutor 全参构造方法逐参数解析
java·开发语言·idea·javaee
Mr__Miss15 天前
MapStruct 从入门到精通:告别手写 Bean 转换的烦恼
java·javaee
罗超驿19 天前
JavaEE进阶之路:从Web架构原理到HTML标签全解析
前端·html·web·javaee
罗超驿2 个月前
13.Java多线程进阶:手动实现线程池与定时器机制详解
开发语言·面试·javaee
罗超驿2 个月前
10.Java单例模式全解析:饿汉式与懒汉式实现及线程安全深度剖析
安全·单例模式·javaee
Yukinaaaa2 个月前
以“轮盘数组”思维彻底搞懂并实现阻塞队列
java·服务器·ide·安全·javaee·阻塞队列·轮盘数组
Yukinaaaa3 个月前
从PCB到资源调度,理解操作系统视角中的进程
javaee
缪懿3 个月前
应用层中的UDP协议原理
网络·网络协议·udp·javaee
Chloeis Syntax3 个月前
JavaEE初阶学习日记(1)---线程和进程
java·开发语言·学习·线程·javaee