SpringMVC的请求处理

请求映射路径的配置

  • 请求映射路径的配置主要是通过@RequestMapping注解实现的

|-----------------|--------------------------|-------|
| 相关注解 | 作用 | 使用位置 |
| @RequestMapping | 设置控制器方法访问路径的资源,可以接收任何请求 | 方法和类上 |
| @GetMapping | 设置控制器方法访问路径的资源,可接收GET请求 | 方法和类上 |
| @PostMapping | 设置控制器方法访问路径的资源,可接收Post请求 | 方法和类上 |


请求数据的接收

参数的接收在JavaWeb后端SpringBoot专栏 已经进行了学习,此处就不再赘述。感兴趣可以去我主页对应专栏进行阅读。主页传送门:内容管理-CSDN创作中心

接收Restful风格的数据

什么是Restful风格?

  • Rest(表象化状态转变/表述性状态转变),在2000年被提出,基于HTTP,URI,xml,JSON等标准和协议,支持轻量级、跨平台、跨语言架构设计。是Web服务的一种新网络应用程序的设计风格和开发方式。

  • 常用规则

    • 用URI表示某个模块资源,资源名称为名词:

    |-------------|--------------------------|
    | 模块 | URI资源 |
    | 用户模块user | http://localhost/user |
    | 商品模块product | http://localhost/product |
    | 账户模块account | http://localhost/account |
    | 日志模块log | http://localhost/log |

  • 用HTTP响应状态码表示结果,国内常用的响应包括三部分:状态码、状态信息、响应数据

  • Restful风格参数是通过路径参数进行传递的,具体可以参照文章:请求响应-路径参数的接收_保持敬畏的博客-CSDN博客

接收上传文件

  • 接收上传文件的数据,文件上传的表单有一定的要求:如下
    • 表单的提交方式必须是POST
    • 表单的enctype属性必须是,multipart/form-data
    • 文件上传需要name属性
  • 具体可以参照文章:SpringBoot案例-文件上传_保持敬畏的博客-CSDN博客
  • 虽然使用了不同的框架但是对于原理介绍是一样的。

获取headers头信息和cookie信息

  • 接收Http请求头数据,接受指定名称的数据头
复制代码
```java
package com.example.Controller;

import com.example.Service.Service01;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Map;

@Controller
public class Controller01 {
    @Autowired
    private Service01 service01;

    @RequestMapping("/show")
    // 获取指定请求头信息
    public String show(@RequestHeader("Accept-Encoding") String requestHeader) {
        System.out.println(requestHeader);
        return "/index.jsp";
    }

    @RequestMapping("/show1")
    // 获取所有请求头信息
    public String show1(@RequestHeader Map<String, String> requestHeader) {
        requestHeader.forEach((k, v) -> {
            System.out.println(k + "====" + v);
        });
        return "/index.jsp";
    }
}
```
  • 启动web服务器后就可以,请求对应的路径
  • 请求show路径,终端输出
  • 请求show1
  • 终端输出
  • 获取客户端携带的Cookie数据
  • 关键代码如下
java 复制代码
package com.example.Controller;

import com.example.Service.Service01;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class Controller01 {
    @Autowired
    private Service01 service01;

    @RequestMapping("/show")
    // 获取Cookie信息
    public String show(@CookieValue(value = "JSESSIONID", defaultValue = "") String requestHeader) {
        System.out.println(requestHeader);
        return "/index.jsp";
    }


}

后天再来,p124

JavaWeb常用对象获取

请求静态资源

注解驱动<mvc:annotation-driven>标签

相关推荐
依旧很淡定6 天前
05-SpringBoot3入门-整合SpringMVC(配置静态资源、拦截器)
springmvc·拦截器·静态资源
就改了14 天前
SpringMVC 跨域问题两种常用解决方案
java·springmvc
一弓虽16 天前
springmvc 框架学习
java·学习·spring·ssm·springmvc
字节源流20 天前
【SpringMVC】常用注解:@MatrixVariable
springmvc
想要打 Acm 的小周同学呀22 天前
SpringMVC执行的流程
springmvc·springmvc执行的流程
工一木子23 天前
【SpringMVC】SpringMVC的启动过程与原理分析:从源码到实战
mvc·springmvc·原理分析
岁岁岁平安1 个月前
SpringMVC学习(controller层加载控制与(业务、功能)bean加载控制、Web容器初始化配置类)(3)
java·学习·spring·mybatis·springmvc
岁岁岁平安1 个月前
SpringMVC学习(初识与复习Web程序的工作流程)(1)
java·spring·servlet·mybatis·springmvc·web
岁岁岁平安1 个月前
SpringMVC学习(入门案例思路及实现、Web容器初始化与SpringMVC配置类)(2)
java·spring·mvc·springmvc·idea
WangYaolove13141 个月前
java2025热点面试题之springmvc
java·springmvc