iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringMVC请求参数的使用总结
  • 934
分享到

SpringMVC请求参数的使用总结

2024-04-02 19:04:59 934人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录一、页面跳转1. 页面跳转2. 请求转发3. 重定向二、接收表单提交参数三、接收JSON参数四、文件上传、下载本次数据请求使用postman, postman下载地址:https

本次数据请求使用postman, postman下载地址:https://www.getpostman.com/

一、页面跳转

1. 页面跳转


@Controller
public class IndexController {
 
    
    @RequestMapping("/")
    public String index(){
        return "/index";
    }
}

2. 请求转发


@Controller
public class IndexController {
 
    
    @RequestMapping("/")
    public String index(){
        return "/index";
    }
 
    
    @RequestMapping("/login")
    public String forward(){
        if(true){
            return "forward:/index";
        }
        return "login";
    }
}

3. 重定向


@Controller
public class IndexController {
 
    
    @RequestMapping("/")
    public String index(){
        return "/index";
    }
 
    
    @RequestMapping("/login")
    public String redirect(){
        if(true){
            return "redirect:/index";
        }
        return "login";
    }
}

二、接收表单提交参数

1. 接收简单包装类型

模拟用户登录,接收用户名、密码、验证码参数


    
    @PostMapping("/login1")
    @ResponseBody
    public Map<String, Object> submitLogin1(String username, String passWord, String captcha) {
        Map<String, Object> resultMap = new HashMap<>(16);
        resultMap.put("code", 200);
        resultMap.put("msg", "登录成功");
        resultMap.put("username", username);
        resultMap.put("password", password);
        resultMap.put("captcha", captcha);
        return resultMap;
    }

2. 通过request获取请求参数


    
    @PostMapping("/login2")
    @ResponseBody
    public Map<String, Object> submitLogin2() {
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        HttpServletRequest request = attributes.getRequest();
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String captcha = request.getParameter("captcha");
 
 
        Map<String, Object> resultMap = new HashMap<>(16);
        resultMap.put("code", 200);
        resultMap.put("msg", "登录成功");
        resultMap.put("username", username);
        resultMap.put("password", password);
        resultMap.put("captcha", captcha);
        return resultMap;
    }

3. 接收对象类型


@Data
public class LoginUser {
 
    private String username;
 
    private String password;
 
    private String code;
}

    
    @PostMapping("/login3")
    @ResponseBody
    public Map<String, Object> submitLogin3(LoginUser loginUser) {
        Map<String, Object> resultMap = new HashMap<>(16);
        resultMap.put("code", 200);
        resultMap.put("msg", "登录成功");
        resultMap.put("username", loginUser.getUsername());
        resultMap.put("password", loginUser.getPassword());
        resultMap.put("captcha", loginUser.getCaptcha());
        return resultMap;
    }

4.接收Map类型


    
    @PostMapping("/login4")
    @ResponseBody
    public Map<String, Object> submitLogin4(@RequestParam Map<String, Object> loginUser) {
        Map<String, Object> resultMap = new HashMap<>(16);
        resultMap.put("code", 200);
        resultMap.put("msg", "登录成功");
        resultMap.put("username", loginUser.get("username"));
        resultMap.put("password", loginUser.get("password"));
        resultMap.put("captcha", loginUser.get("captcha"));
        return resultMap;
    }

5.接收数组类型


    
    @PostMapping("/modifyRole1")
    @ResponseBody
    public Map<String, Object> modifyRole1(Integer userId, Integer[] roleIds) {
        Map<String, Object> resultMap = new HashMap<>(16);
        resultMap.put("code", 200);
        resultMap.put("msg", "修改角色权限成功");
        resultMap.put("userId", userId);
        resultMap.put("roleIds", Arrays.toString(roleIds));
        return resultMap;
    }

6.接收List类型


    
    @PostMapping("/modifyRole2")
    @ResponseBody
    public Map<String, Object> modifyRole2(Integer userId, @RequestParam("roleIds") List<Integer> roleIds) {
        Map<String, Object> resultMap = new HashMap<>(16);
        resultMap.put("code", 200);
        resultMap.put("msg", "修改角色权限成功");
        resultMap.put("userId", userId);
        resultMap.put("roleIds", roleIds.toString());
        return resultMap;
    }

7.接收Set类型


    
    @PostMapping("/modifyRole3")
    @ResponseBody
    public Map<String, Object> modifyRole3(Integer userId, @RequestParam("roleIds") Set<String> roleIds) {
        Map<String, Object> resultMap = new HashMap<>(16);
        resultMap.put("code", 200);
        resultMap.put("msg", "修改角色权限成功");
        resultMap.put("userId", userId);
        resultMap.put("roleIds", roleIds.toString());
        return resultMap;
    }

8.接收带List参数的实体类


@Data
public class ModifyRole {
 
    private Integer userId;
 
    private List<String> roleIds;
}

    
    @PostMapping("/modifyRole4")
    @ResponseBody
    public Map<String, Object> modifyRole4(ModifyRole modifyRole) {
        Map<String, Object> resultMap = new HashMap<>(16);
        resultMap.put("code", 200);
        resultMap.put("msg", "修改角色权限成功");
        resultMap.put("modifyRole", modifyRole.toString());
        return resultMap;
    }

三、接收jsON参数

1. 接收带List参数的实体类


@Data
public class ModifyRole {
 
    private Integer userId;
 
    private List<String> roleIds;
}

    
    @PostMapping("/modifyRole5")
    @ResponseBody
    public Map<String, Object> modifyRole5(@RequestBody ModifyRole modifyRole) {
        Map<String, Object> resultMap = new HashMap<>(16);
        resultMap.put("code", 200);
        resultMap.put("msg", "修改角色权限成功");
        resultMap.put("modifyRole", modifyRole.toString());
        return resultMap;
    }

2.接收List<Bean>类型


@Data
public class SysUser {
    
    private String username;
    
    private String password;
}

    
    @PostMapping("/batchInsert")
    @ResponseBody
    public Map<String, Object> batchInsert(@RequestBody List<SysUser> sysUserList) {
        Map<String, Object> resultMap = new HashMap<>(16);
        resultMap.put("code", 200);
        resultMap.put("msg", "批量新增用户成功");
        resultMap.put("modifyRoleList", sysUserList.toString());
        return resultMap;
    }

3.接收Set<Bean>类型


    
    @PostMapping("/batchInsert2")
    @ResponseBody
    public Map<String, Object> batchInsert2(@RequestBody Set<SysUser> sysUserSet) {
        Map<String, Object> resultMap = new HashMap<>(16);
        resultMap.put("code", 200);
        resultMap.put("msg", "批量新增用户成功");
        resultMap.put("modifyRoleSet", sysUserSet.toString());
        return resultMap;
    }

四、文件上传、下载

1. 文件上传

新建一个文件


    
    @PostMapping("/upload")
    @ResponseBody
    public void upload(MultipartFile multipartFile) throws ioException {
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        // 获取文件流
        InputStream inputStream = multipartFile.getInputStream();
        try (BufferedReader reader =  new BufferedReader(new InputStreamReader(inputStream, UTF_8.name()))){
            // 读取文件数据
            String collect = reader.lines().collect(Collectors.joining());
            // 直接返回文件数据给前端
            attributes.getResponse().getWriter().write(collect);
        } catch (Exception e){
            e.printStackTrace();
        }
    }

2. 文件下载


    
    @GetMapping("/download")
    public ResponseEntity<byte[]> download() throws IOException {
        File file = ResourceUtils.getFile("classpath:application.yml");
 
        byte[] body;
        try (InputStream is = new FileInputStream(file)){
            body = new byte[is.available()];
            is.read(body);
        }
 
        HttpHeaders headers = new HttpHeaders();
        headers.add("Content-Disposition", "attchement;filename=" + file.getName());
        return new ResponseEntity<>(body, headers, HttpStatus.OK);
    }

到此这篇关于springMVC请求参数 的文章就介绍到这了,更多相关springmvc请求参数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SpringMVC请求参数的使用总结

本文链接: https://www.lsjlt.com/news/127290.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringMVC请求参数的使用总结
    目录一、页面跳转1. 页面跳转2. 请求转发3. 重定向二、接收表单提交参数三、接收JSON参数四、文件上传、下载本次数据请求使用postman, postman下载地址:https...
    99+
    2024-04-02
  • springMVC获取请求参数的几种方式汇总
    目录一、前言二、初步认识三、servletAPI四、方法参数五、@RequestParam六、实体类七、总结一、前言 大家好,我是卷心菜,大二学生一枚。 大家在学习springMVC...
    99+
    2024-04-02
  • 使用SpringMVC 重写、扩展HttpServletRequest请求参数
    一、背景说明 由于在项目进行前后端分离改造时,请求由多种传参方式统一定义为JSON格式传输,在改造过程中需要前后版本兼容。如果能在Controller接收参数之前将JSON格式参数进...
    99+
    2024-04-02
  • SpringMVC中请求参数的获取方式
    目录SpringMVC请求参数获取方式一、通过 ServletAPI 获取二、通过控制器方法的形参获取处理多个同名的请求参数三、通过 @RequestParam 注解四、@Reque...
    99+
    2024-04-02
  • SpringMVC解析post请求参数详解
    目录SpringMVC一,概述二、原理:1.创建form表单css代码 2.准备Student类3.创建启动类4,创建数据库,表使用JDBC把得到的数据入库5.创建StudentCo...
    99+
    2024-04-02
  • java中springMVC获取请求参数的方法
    目录原生方式获取请求参数控制器方法形参获取请求参数@RequestParam注解@RequestHeader注解@CookieValue注解通过POJO获取请求参数原生方式获取请求参...
    99+
    2023-05-18
    springMVC 请求参数 springMVC 请求
  • SpringMVC的数据请求
    5.SpringMVC的数据请求 5.1-SpringMVC的请求-获得请求参数-请求参数类型(理解) 客户端请求参数的格式是:name=value&name=value…… 服务器端要获得请求的参数...
    99+
    2023-08-31
    java jvm servlet
  • SpringMVC获取请求参数笔记整理
    目录前言一、使用ServletAPI获取参数二、通过控制器方法的形参获取请求参数三、@RequestParam四、@RequestHeader五、@CookieValue六、通过实体...
    99+
    2024-04-02
  • flaskpost获取前端请求参数的三种方式总结
    目录flask post获取前端请求参数方式1、放在params里面2、带附件的 form-data3、json格式总结flask post获取前端请求参数方式 post请求pyth...
    99+
    2022-12-19
    flask post flask post获取参数 获取前端请求参数
  • springmvc接口接收参数与请求参数格式的整理
    目录springmvc接口接收参数与请求参数格式一、首先我们需要认识下http请求中的Content-Type二、注解@RequestParam(value=“id”)三、注解@Re...
    99+
    2024-04-02
  • springMVC获取请求参数的方式有哪些
    这篇文章主要讲解了“springMVC获取请求参数的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“springMVC获取请求参数的方式有哪些”吧!初步认识可以直接在请求地址中给于请...
    99+
    2023-06-29
  • SpringMVC 参数绑定相关知识总结
    目录1. 简单参数绑定2. 对象参数绑定3. 参数绑定解析总结请求进入DispatcherServlet的doDispatch后,获取HandlerMethod。然后根据Handle...
    99+
    2024-04-02
  • SpringMvc接受请求参数的几种情况演示
    说明:   通常get请求获取的参数是在url后面,而post请求获取的是请求体当中的参数。因此两者在请求方式上会有所不同。   1.直接将接受的参数写在controller对应方法...
    99+
    2024-04-02
  • SpringMvc接收参数方法总结(必看篇)
    接收参数的方式:1.HttpServletRequest方式接收public ModelAndView test1(HttpServletRequest req){ String userName = req.getParameter...
    99+
    2023-05-31
    springmvc 接收参数
  • SpringMVC获取请求参数实现方法介绍
    目录一、通过ServletAPI获取二、通过控制器方法的形参获取请求参数三、@RequestParam四、@RequestHeader五、@CookieValue六、通过POJO获取...
    99+
    2022-11-13
    SpringMVC获取请求参数 SpringMVC请求参数
  • SpringMVC实现获取请求参数方法详解
    目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@RequestHeader5、@CookieValue6、通过POJO获取...
    99+
    2024-04-02
  • 使用HttpURLConnection发送POST请求并携带请求参数
    1、先创建URL对象,指定请求的URL地址。 URL url = new URL("http://example.com/api"); 2、调用URL对象的openConnection()方法创建HttpURLConnection对象。 ...
    99+
    2023-08-31
    java spring intellij-idea spring boot
  • 【总结】php中的常用HTTP请求头
    在PHP中,HTTP请求头是指在发送HTTP请求时,添加在请求的第一行中的一些元数据信息。这些头部信息可以帮助服务器正确处理请求,并且告诉服务端一些额外的信息,如浏览器和操作系统类型,内容类型,以及客户端的位置信息等。因此,HTTP请求头是...
    99+
    2023-05-14
    php HTTP请求
  • mysql常用的参数总结
    本篇内容主要讲解“mysql常用的参数总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql常用的参数总结”吧! 1.query_cache_size ...
    99+
    2024-04-02
  • Linux rpm命令参数使用总结
    本篇内容主要讲解“Linux rpm命令参数使用总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux rpm命令参数使用总结”吧!RPM是RedHat Package Manager(R...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作