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>标签

相关推荐
jingde5284 天前
SpringMVC中使用REST风格
springmvc
垚森13 天前
SpringBoot兼容SpringMVC带有.do后缀的请求
springmvc·.do后缀
_leyilea13 天前
Java内存马系列 | SpringMVC内存马 - 上 | SpringMVC代码分析
java·开发语言·springmvc·内存马
沿途欣赏i17 天前
关于SpringMVC的理解
springmvc
m0_7194145619 天前
【SpringMVC】
java·springmvc
王小二(海阔天空)23 天前
浅谈SpringMvc的核心流程与组件
springmvc·核心流程·核心组件
S-X-S25 天前
SpringMVC核心机制环境搭建
springmvc
S-X-S1 个月前
自定义@ResponseBody以及SpringMVC总结
springmvc
空谷忧人1 个月前
【SpringMVC】SpringMVC中单元方法获取请求数据的方式
java·后端·mvc·springmvc
醉颜凉1 个月前
SpringMVC 运行流程
java·面试·mvc·springmvc·model·controller·view