SpringMVC---获取参数

这篇具有很好参考价值的文章主要介绍了SpringMVC---获取参数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

传递单参数

@RequestMapping("/name")
    //1. 传递参数
    //注:传参的时候一定要传递包装类型而非基础类型   因为基础类型忘写值时会直接报错  包装类型不会报错只会返回空null
    //注:名字必须匹配
    public String getName(String name){
        String retName = name;
        return retName;
    }

传递对象

@RequestMapping("/people")
    //2. 传递对象
    //注:参数名和对象里的变量名必须一致   个数和顺序可以不同
    public String getPeople(User user){
        return user.toString();
    }

传递多个参数

@RequestMapping("/names")
    //3. 传递多个参数
    //注:参数名必须一致  参数的顺序可以不一致
    public String getNames(String name1,String name2){
        String firstName = name1;
        String secName = name2;
        return name1 + " " + name2;
    }

参数重命名

@RequestMapping("/rename")
    //4.重命名
    //注:@RequestParam() 括号里填前端传来的参数(字符串)
    //注:加上这个注解@RequestParam()之后,  括号里写的参数前端就必须传递过来  如果前端不传递就会报错
    //注:加上这个注解@RequestParam()之后,  想让括号里写的参数也不一定必须传递  就可以这样设置@RequestParam(value = "time", required = false)
    public String rename(@RequestParam("haha")String name){
        return name;
    }

传递JSON对象

@RequestMapping("/getJSON")
    //5. 传递JSON对象
    //注:只有使用@RequestBody注解修饰才能得到JSON对象   一般用对象接收
    public String getJson(@RequestBody User user){
        return user.toString();
    }

直接从 url 中传递参数 省略变量

@RequestMapping("/getMsg/{username}/{password}")
    //6.直接从url中传递参数  省去传递的变量名
    //注:/{}不能省略    {}里的内容和@PathVariable 括号里的内容应该一致
    //前端在传递数据的时候,在正常的 url 后面使用 / 加上要传递的信息
    public String getMsg(@PathVariable("username") String username,@PathVariable("password") String password){
        return username + " " + password;
    }
@RequestMapping("/getOtherMsg/{username}/and/{password}")
    //注:不使用{}包裹的内容不会当作参数接收  但是也得写上  用来占位
    public String getOtherMsg(@PathVariable("username") String username,@PathVariable("password") String password){
        return username + " " + password;
    }

上传文件

@RequestMapping("/upFile")
    //7.上传文件
    //注; @RequestPart  括号里写上传文件时  key里写的文件名
    public String upFile(@RequestPart("myfile")MultipartFile file) throws IOException {
        String path = "D:/home/ruoyi/result.png";
        file.transferTo(new File(path));
        return path;

//        //根路径
//        String root = "D:/home/ruoyi";
//        //根路径 + 唯一的文件名       使每次都能保存不同的文件  而  不替换
//        root += UUID.randomUUID().toString().replace("-","");
//        //根路径 + 唯一的原来文件名           每次都保存原来文件的名字  不重命名
//        root += file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
    }

获取Cookie

@RequestMapping("/getCookie")
    //8. 传统的得到Cookie
    //注:使用servlet
    public String getCookie(HttpServletRequest request){
        Cookie[] cookies = request.getCookies();
//        for (Cookie cookie : cookies){
//            log.error(cookie.getName() + ":" + cookie.getValue());
//        }
        return "getCookie";
    }
@RequestMapping("/getOneCookie")
    //注:使用spring更简单的得到 单个cookie
    public String getOneCookie(@CookieValue("zhangsan") String val){
        return "cookie +" + val;
    }

获取Header

@RequestMapping("/getHeader")
    //9. 传统的得到单个header
    //注:使用servlet
    public String getHeader(HttpServletRequest request){
        String userAgent = request.getHeader("User-agent");
        return userAgent;
    }
@RequestMapping("/getSpringHeader")
    //注:使用spring得到单个header
    public String getSpringHeader(@RequestHeader("User-Agent") String userAgent){
        return userAgent;
    }

设置Session

@RequestMapping("/setSession")
    //10. 设置session
    //注:servlet和spring设置的方法一样  都是通过HttpServletRequest设置
    public String setSession(HttpServletRequest request){
        HttpSession session = request.getSession(true);
        if (session != null){
            session.setAttribute("username","spring");
        }
        return (String) session.getAttribute("username");
    }

读取Session

@RequestMapping("/getSession")
    //11. 读取session
    //注:普通的使用servlet读取
    public String getSession(HttpServletRequest request){
        HttpSession session = request.getSession(false);
        if (session != null && session.getAttribute("username") != null){
            return (String) session.getAttribute("username");
        }else {
            return "无session信息";
        }
    }
@RequestMapping("/getSpringSession")
    //注:使用spring更简单的读取session
    public String getSpringSession(@SessionAttribute(value = "username",required = false) String username){
        return username;
    }

文章来源地址https://www.toymoban.com/news/detail-760178.html

到了这里,关于SpringMVC---获取参数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring MVC -- 获取参数(普通对象+JSON对象+URL地址参数+文件+Cookie/Session/Header)

    目录 1.获取参数 1.1获取单个参数 1.2获取多个参数 传参注意事项: 2.获取对象  3.后端参数重命名@RequestParam 4.获取JSON对象@RequestBody 5.从 URL 地址中获取参数 @PathVariable 6.上传文件 @RequestPart 7.获取Cookie/Session/Header 7.1 获取 Request 和 Response 对象 7.2 获取Cookie (1)Servlet 获取 Cooki

    2024年02月16日
    浏览(43)
  • 【JavaEE进阶】SpringMVC

    SpringMVC 是基于Java的 Web应用程序开发框架 ,它是Spring Framework的一部分。它提供了一种基于 模型-视图-控制器 (Model-View-Controller,MVC)架构的方式来开发灵活、可扩展的Web应用程序。 SpringMVC框架通过将请求的处理流程划分为三个核心组件来实现MVC架构: 模型(Model):模型表

    2024年02月12日
    浏览(34)
  • 【JavaEE进阶】SpringMVC中的常用注解和用法

    目录 学习Spring MVC 建立连接 @RequestMapping 注解介绍 @RequestMapping 使用 传参介绍 传递单个参数 传递多个参数 传递对象 后端参数重命名(后端参数映射)@RequestParam 非必传参数设置 传递数组 传递集合 传递JSON数据 获取URL中参数@PathVariable 上传文件@RequestPart 获取Cookie/Session 响应

    2024年04月14日
    浏览(86)
  • Spring Mvc:初识SpringMvc

    编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 Maven版本:apache-maven-3.6.3 Mybatis版本:3.5.6 SpringMvc版本:5.3.1 ①SpringMVC是Spring的一种 子框架 ,它是Spring为【 展现层 | 表示层 | 表述层 | 控制层 】提供的 基于MVC设计理念 的优秀的Web框架,是目前最主流的MVC框架。

    2024年02月13日
    浏览(55)
  • 【JavaEE】Spring Web-MVC

    目录 Spring Web MVC 是什么 什么是Serlet 什么是MVC 什么是Spring MVC 使用Spring MVC 建立连接 @RequestMapping 请求 传递单个参数 传递多个参数 传递对象 后端参数重命名  传递数组 传递集合 传递JSON数据 获取url参数-@pathvariable 上传文件@RequestPart 获取Cookie Session 获取Header 响应 返回静态页

    2024年04月12日
    浏览(31)
  • Spring MVC 之MVC 体系结构、什么是SpringMVC

    三层架构 我们的开发架构⼀般都是基于两种形式,⼀种是 C/S 架构,也就是客户端/服务器;另⼀种是 B/S 架构,也就是浏览器服务器。在 JavaEE 开发中,⼏乎全都是基于 B/S 架构的开发。那么在 B/S 架构中,系统标准的三层架构包括:表现层、业务层、持久层。 三层架构中,每

    2024年02月09日
    浏览(51)
  • 【SpringMVC】Spring Web MVC入门(一)

    前面我们了解了什么是Spring,那么今天我将为大家分享一种在日常网站开发中使用非常广泛的框架——Spring Web MVC。 先来看看官方解释。 Spring Web MVC是Spring Framework提供的Web组件,它是一个MVC设计模式的框架,主要用于开发灵活、松散耦合的Web应用程序。它提供了模型-视图-控

    2024年02月05日
    浏览(44)
  • 【SpringMVC】基于 Spring 的 Web 层MVC 框架

    🎄欢迎来到@边境矢梦°的csdn博文🎄 🎄本文主要梳理SpringMVC : 基于 Spring 的 Web 层MVC 框架 🎄 🌈我是边境矢梦°,一个正在为秋招和算法竞赛做准备的学生🌈 🎆喜欢的朋友可以关注一下 🫰🫰🫰 ,下次更新不迷路🎆 Ps: 月亮越亮说明知识点越重要 (重要性或者难度越大

    2024年02月08日
    浏览(42)
  • JavaWeb开发框架对比与选择:Struts、Spring MVC、JavaEE

    引言:         在JavaWeb开发领域,选择合适的开发框架对于项目的成功与否至关重要。随着技术的不断发展,出现了许多优秀的开发框架,其中最为知名的包括Struts、Spring MVC和JavaEE。本文将对这三个框架进行对比,并给出选择的建议。 一、Struts框架         Struts是一

    2024年02月04日
    浏览(43)
  • 【JavaEE】让“单车变摩托”的神级框架—Spring MVC的深入讲解

    【JavaEE】Spring MVC 程序开发要点总结 官方文档:Spring Framework Documentation :: Spring Framework Spring Web MVC 是基于 Servlet API 构建的原始Web 框架,从一开始就包含在Spring 框架中。它的正式名称“Spring Web MVC” 来自其源模块的名称(Spring-webmvc),但它通常被称为“Spring MVC” 两个关键信

    2024年02月13日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包