赞
踩
目录
1. 建立连接(客户端和服务器);
2.(浏览器)客户端向服务器发送请求;
3. 服务器向客户端(浏览器)返回响应;
在Spring MVC中,使用@RequestMapping实现URL路由映射,完成浏览器对程序的连接;
1. @RequestMapping是Spring Web MVC应用程序中最常被使用的注解之一,
用于注册接口的路由映射,
表示服务器接收到请求时,路径为/sayHi的请求就会调用sayHi这个方法的代码;
2. 路由映射:
当用户访问一个URL时,将用户的请求对应到程序中某个类的某个方法的过程就叫路由映射;
@RequestMapping注解既可以修饰类,也可以修饰方法;
当前类没有@RequestMapping修饰,故而URL只需方法路径:
@RequestMapping功能如下:
访问地址为:类的路径+方法路径;
现将.java文件修改为:
- package com.example.demo.controller;
-
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
-
- @RequestMapping("/Hi")
- @RestController
- public class HelloController {
- @RequestMapping("/sayHi")
- public String sayHi(){
- return "Hi, SpringBoot";
- }
- @RequestMapping("/sayHello")
- public String sayHello(){
- return "Hello ,SpringBoot";
- }
- }
-
重新启动服务器,此时要填写的URL为:
注:(1)对于注解,可以不以 / 开头,但在开发过程中建议采用标准写法,以 / 开头;
(2)在开发中,建议使用类路径+方法路径的方法,可以有效避免重复,且方便查找代码;
使用浏览器访问:
使用Fiddler抓包,查看请求详情:
可见@RequestMapping支持GET请求;
使用postman构造一个POST请求并发送:
得到的响应为:
可见@RequestMapping也支持POST请求;
综上:@RequestMapping既支持GET请求,也支持POST请求;
注:并且,@RequestMapping是支持所有的方法,包括PUT,DELETE等等,
关于HTTP请求方法,可以查看本专栏HTTP请求首行一文,链接如下:
【JavaEE】_HTTP请求首行-CSDN博客https://blog.csdn.net/m0_63299495/article/details/136115813
如果服务器需要限制客户端发送的请求的方法,也可以使用@RequestMapping注解method属性进行限制;
现假设限定客户端请求必须使用GET请求:
.java文件内容如下:
- package com.example.demo.controller;
-
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
-
- @RequestMapping("/Hi")
- @RestController
- public class HelloController {
- @RequestMapping(value = "/sayHi",method = RequestMethod.GET)
- public String sayHi(){
- return "Hi, SpringBoot";
- }
- @RequestMapping("/sayHello")
- public String sayHello(){
- return "Hello ,SpringBoot";
- }
- }
-
构造一个POST请求并发送:
得到的响应为:
状态码为405,表示方法不允许;
关于响应状态码,可以查看本专栏HTTP响应一文,链接如下:
【JavaEE】_HTTP响应-CSDN博客https://blog.csdn.net/m0_63299495/article/details/136141244注:对于@RequestMapping注解,如果没有写属性名时,默认属性为value/path,即路径;
如果有多个属性,则需加上属性名;
后续将介绍Spring MVC项目关于请求与响应。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。