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请求

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

相关推荐
coderlwz20 天前
高级 JAVA 工程师卷 1
javaee
朝新_2 个月前
【多线程初阶】阻塞队列 & 生产者消费者模型
java·开发语言·javaee
朝新_2 个月前
【多线程初阶】内存可见性问题 & volatile
java·javaee
sugar__salt2 个月前
多线程(5)——单例模式,阻塞队列
android·java·单例模式·intellij-idea·javaee
弥鸿2 个月前
MinIO的安装和使用
java·spring boot·java-ee·springcloud·javaee
-曾牛3 个月前
Java面试:Spring及Spring Cloud技术深度剖析
java·spring·spring cloud·面试·springboot·javaee·面经
Zz_waiting.4 个月前
多线程进阶
java·开发语言·jvm·javaee
sniper_fandc4 个月前
网络编程—TCP/IP模型(UDP协议与自定义协议)
网络·tcp/ip·udp·javaee
sniper_fandc4 个月前
网络编程—Socket套接字(UDP)
网络·网络协议·udp·javaee