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

相关推荐
灰色孤星A6 天前
后台管理系统的通用权限解决方案(十)如何自定义SpringMVC的参数解析器
java·springmvc·springboot·参数解析器
一朵忽明忽暗的云11 天前
【SSM-Day5】SpringMVC
spring·springmvc
Onlooker12913 天前
SpringMVC6-SpringMVC的视图
springmvc
云和数据.ChenGuang13 天前
第二章 SpringMVC
springmvc
太自由17 天前
SpringMVC之 文件上传和下载
spring·springmvc·resource·文件上传下载·文件下载·springmvc文件
lanssssss19 天前
SpringMVC
java·开发语言·spring·springmvc·javaweb
VaporGas20 天前
SSM框架实战小项目:打造高效用户管理系统 day2
java·spring boot·spring·mybatis·springmvc·result
魔道不误砍柴功20 天前
Servlet 生命周期详解及案例演示(SpringMVC底层实现)
spring·servlet·springmvc·springboot
VaporGas22 天前
Spring MVC实现高效文件上传及优化案例
java·spring·mvc·ssm·springmvc
VaporGas22 天前
SpringMVC后台控制端校验-表单验证深度分析与实战优化
springmvc·数据验证·表单验证·后台数据校验