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
  • SpringMVC的请求处理_第1张图片
  • 用HTTP响应状态码表示结果,国内常用的响应包括三部分:状态码、状态信息、响应数据
  • SpringMVC的请求处理_第2张图片

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

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

    • 接收Http请求头数据,接受指定名称的数据头
    • 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 requestHeader) {
              requestHeader.forEach((k, v) -> {
                  System.out.println(k + "====" + v);
              });
              return "/index.jsp";
          }
      }
      
  • 启动web服务器后就可以,请求对应的路径
  • 请求show路径,终端输出
  • 请求show1
  • 终端输出
  • SpringMVC的请求处理_第4张图片
  • 获取客户端携带的Cookie数据
  • 关键代码如下
  • 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常用对象获取

请求静态资源

注解驱动标签

你可能感兴趣的:(SpringMVC)