素材巴巴 > 程序开发 >

【Spring框架】SpringMVC

程序开发 2023-09-03 21:37:20

目录

  • 获取参数
  • 返回数据
  • 什么是Spring MVC

    Spring MVC 特性:
     1.Spring MVC 是一个Web框架。
     2.Spring MVC 是基于Servlet API 构建的。
     

    MVC是Model View Controller 的缩写,它是软件工程中的一种软件框架模式,它把软件系统分为模型、视图和控制器三个基本部分。

    MVC执行流程:
     1.用户的请求首先先到Controller。
     2.Controller将请求转发给Model。
     3.Model处理业务并将数据结果给Controller。
     4.Controller会将数据给View引擎。
     5.View转换数据生成给最终用户。
     

    在这里插入图片描述
    MVC 是⼀种思想,⽽ Spring MVC 是对 MVC 思想的具体实现。
    现在绝⼤部分的 Java 项⽬都是基于 Spring(或 Spring Boot)的,⽽ Spring 的核⼼就是 Spring MVC。

    实现客户端和程序之间的“连接”

    1.1 @RequestMapping

    @RequestMapping是 Spring Web 应⽤程序中最常被⽤到的注解之⼀,它是⽤来注册接⼝的路由映射的。
    在这里插入图片描述
    在这里插入图片描述

    1.2@GetMapping

    @GetMapping:实现HTTP连接,但只支持GET类型的请求
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    1.3@PostMapping

    @PostMapping:实现HTTP连接,但只支持POST类型的请求
    在这里插入图片描述

    获取参数

    2.1.1 获取单个参数

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    2.1.2 获取多个参数

    在这里插入图片描述
    在这里插入图片描述

    2.1.3 获取对象

    package com.example.demo.model;import lombok.Data;@Data
     public class User {private int id;private String name;private String password;private int age;
     }
    package com.example.demo.controller;import com.example.demo.model.User;
     import org.springframework.web.bind.annotation.RequestMapping;
     import org.springframework.web.bind.annotation.RestController;@RestController
     @RequestMapping("/user")
     public class UserController {@RequestMapping("/add")public User add(User user) {return user;}
     }

    在这里插入图片描述

    2.2 后端参数重命名

    在这里插入图片描述
    在这里插入图片描述

    2.3 @RequestBody 接收JSON对象

    在这里插入图片描述

    在这里插入图片描述

    2.4 获取URL中参数@PathVariable

    在这里插入图片描述
    在这里插入图片描述

    2.5 上传⽂件@RequestPart

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    2.6 获取Cookie/Session/header

    获取Cookie

    /*** 获取 Cookie* @param ck* @return*/@RequestMapping("/getcookie")public String getCookie(@CookieValue("java")String ck) {return ck;}
     

    在这里插入图片描述
    获取Session

    /*** 获取 Session** @param name* @return*/@RequestMapping("/get_sess")public String getSess(@SessionAttribute(required = false, value = "SESSION_KEY") String name) {return name;}
     

    在这里插入图片描述
    获取header

    @RequestMapping("/header")
     @ResponseBodypublic String header(@RequestHeader("User-Agent") String userAgent) {return "userAgent:"+userAgent;
     }
     

    返回数据

    请求转发或请求重定向

    forward VS redirect
     return 不但可以返回⼀个视图,还可以实现跳转,跳转的⽅式有两种:
     forward 是请求转发;
     redirect:请求重定向。
     
    // 请求重定向
     @RequestMapping("/index")
     public String index(){return "redirect:/index.html";
     }// 请求转发
     @RequestMapping("/index2")
     public String index2(){return "forward:/index.html";
     }
     

    在这里插入图片描述


    标签:

    上一篇: android使用ant重新编译打包apk 下一篇:
    素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。