【SpringMVC]获取参数的六种方式

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

目录

1.通过ServletAPI获取

2.通过控制器方法的形参获取

3.@RequestParam:将请求参数和控制器方法的形参绑定

4.@RequestHeader:将请求头信息与控制器方法的形参的值进行绑定

5. CookieValue:将cookie数据和控制器方法的形参绑定

Cookie:

​编辑

6.通过控制器方法的实体类类型的形参获取请求参数

对应的index.html页面:


SpringMVC的处理流程:(用户请求-》Controller-》Model-》Controller-》View-》响应给用户)

 用户通过视图层(View)发送请求到服务器,在服务器中请求被Controller接收,Controller调用相应的Model层处理请求,处理完毕将结果返回到Controller,Controller再根据请求处理的结果找到相应的View视图,渲染数据后最终响应给浏览器

1.通过ServletAPI获取

只需要在控制器的方法的形参位置设置HTTPRequest  request 类型的形参就i可以在控制器方法种使用request对象获取请求参数

 @RequestMapping("/param/servletAPI")
    public String getParamServletAPI(HttpServletRequest request){
        HttpSession session = request.getSession();
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        System.out.println("username = " + username + "," + "password = " +  password);
        return "success";
    }

2.通过控制器方法的形参获取

只需要在控制器方法的形参位置设置一个形参,形参的名字和请求参数的名字保持一致即可

 @RequestMapping("/param")
    public String getParam(String username, String password){
        System.out.println("username = " + username + "," + "password = " +  password);
        return "success";
    }

3.@RequestParam:将请求参数和控制器方法的形参绑定

@RequestParam注解的三个属性:value,require,defaultValue

value:设置和形参绑定的请求参数的名字

required:设置是否必须传输value所对应得求情参数默认值为true,表示value所对应得请求参数必须传输,否则页面报错 ,或设置为false,则表示value所对应得请求参数不是必须传输,若为传输,则形参值为null

defaultValue:设置当没有传输value所对应得请求参数时,为形参设置得默认值,此时和required属性无关

  @RequestMapping("/param")
    public String getParam(@RequestParam(value = "userName",required = true,defaultValue = "hello")String username, String password,){
        System.out.println("username = " + username + "," + "password = " +  password);
      
        return "success";
    }

4.@RequestHeader:将请求头信息与控制器方法的形参的值进行绑定

@RequestMapping("/param")
    public String getParam(String username, String password,
                           @RequestHeader("referer") String referer){
        System.out.println("username = " + username + "," + "password = " +  password);
        System.out.println("referer = " + referer);
   
        return "success";
    }

5. CookieValue:将cookie数据和控制器方法的形参绑定

@RequestMapping("/param")
    public String getParam(String username, String password,
                           @CookieValue("JSESSIONID") String jsessionId){
        System.out.println("username = " + username + "," + "password = " +  password);
      
        System.out.println("jsessionId = " + jsessionId);
        return "success";
    }

Cookie:

【SpringMVC]获取参数的六种方式,ssm,java,前端,开发语言

【SpringMVC]获取参数的六种方式,ssm,java,前端,开发语言

6.通过控制器方法的实体类类型的形参获取请求参数

注意:需要在控制器方法的形参位置设置实体类类型的形参,要保证实体类的属性的属性名和请求参数的名字保持一致,可以通过实体类类型的形参获取请求参数

 @RequestMapping("/param/pojo")
    public String getParamByPojo(User user){
        System.out.println(user);
        return "success";
    }
对应的index.html页面:
<h3>前五种方式实现:</h3>
<form th:action="@{/param}" method="get">
    用户名:<input type="text" name="username"><br>
    密码:  <input type="password" name="password"><br>
    <input type="submit" value="登录">
</form>

<h3>pojo实现:</h3>
<form th:action="@{/param/pojo}" method="get">
    用户名:<input type="text" name="username"><br>
    密码:  <input type="password" name="password"><br>
    <input type="submit" value="登录">
</form>
跳转页面:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>成功</title>
</head>
<body>
<h1>success.html</h1>
</body>
</html>

 【SpringMVC]获取参数的六种方式,ssm,java,前端,开发语言【SpringMVC]获取参数的六种方式,ssm,java,前端,开发语言文章来源地址https://www.toymoban.com/news/detail-707755.html

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

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

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

相关文章

  • 服务限流的六种方式

    服务限流,是指通过控制请求的速率或次数来达到保护服务的目的,在微服务中,我们通常会将它和熔断、降级搭配在一起使用,来避免瞬时的大量请求对系统造成负荷,来达到保护服务平稳运行的目的。下面就来看一看常见的6种限流方式,以及它们的实现与使用。 固定窗

    2024年02月10日
    浏览(26)
  • uniapp路由跳转的六种方式

    uniapp官方文档详解: 一、uni.navigateTo保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。 注意: 页面跳转路径有层级限制,不能无限制跳转新页面 跳转到 tabBar 页面只能使用 switchTab 跳转 二、uni.redirectTo关闭当前页面,跳转到应用内的某个页面。

    2024年02月11日
    浏览(36)
  • SpringBoot 实现跨域的六种方式

    目录 1.通过SpringSecurity方式配置 2.使用Spring提供的CorsFilter注入Bean(推荐) 3.使用注解@CrossOrigin注解(繁琐) 4.通过ResponseBodyAdvice 实现跨域 5.通过HttpServletResponse设置跨域 6.通过WebMvcConfigurer 实现跨域 与第5类似

    2024年02月14日
    浏览(37)
  • bitmap的六种压缩方式,Android图片压缩

    Android中图片是以bitmap形式存在的,那么bitmap所占内存,直接影响到了应用所占内存大小,首先要知道bitmap所占内存大小计算方式: 图片长度 x 图片宽度 x 一个像素点占用的字节数 以下是图片的压缩格式: 其中,A代表透明度;R代表红色;G代表绿色;B代表蓝色。 ALPHA_8 表示

    2024年02月09日
    浏览(37)
  • C语言实现排序算法的六种方式

    1、冒泡法 2、交换法 每次用当前的元素一一的同其后的元素 3、选择法 从数据中选择最小的同第一个值交换,在从剩下的部分中选择最小的与第二个交换,这样往复下去 4、插入法 在前面的数中寻找相应的位置插入, 然后继续下一张 插入排序就是每一步都将一个待排数据按

    2024年01月25日
    浏览(35)
  • 【并发编程】SpringBoot创建线程池的六种方式

    1. 自定义线程池 1.1 示例代码   控制台打印: 2. 固定长度线程池 2.1 示例代码   控制台打印:   前3个任务被同时执行,因为刚好有3个核心线程。后2个任务会被存放到阻塞队列,当执行前3个任务的某个线程空闲时会从队列中获取任务并执行。 2.2 源码剖析   该类型

    2024年02月16日
    浏览(36)
  • Python获取当前目录下所有文件的六种方法

    这段代码中, os.listdir() 方法返回的是一个列表,因为获取的是文件名,而不是文件路径。如果需要获取文件路径,可以使用 os.path.join() 方法将列表中的文件名拼接成一个完整的路径。 这段代码中, os.getcwd() 返回当前工作目录, glob.glob() 函数用于获取指定目录下所有文件,

    2024年02月12日
    浏览(36)
  • 探究Spring Bean的六种作用域:了解适用场景和使用方式

    主要对单例作用域与原型作用域进行重点说明,其余四个了解即可 单例作用域一般是默认的Bean作用域。Spring容器在第一次获取Bean时创建实例,并在后续请求中返回同一个实例。 例如: 我们现在创建一个公共的Bean供用户一与用户二使用,用户一再使用完后对其内容进行修改

    2024年02月15日
    浏览(25)
  • springMVC获取请求参数的方式

    将HttpServletRequest作为控制器方法的形参,此时HttpServletRequest类型的参数表示封装当前请求的请求报文 只需要在控制器方法的形参位置,设置一个形参,形参的名字和请求参数的名字一致即可 后端根据前端页面传入的实际参数进行一一取值(参数的少的情况下建议使用) @Re

    2024年02月02日
    浏览(38)
  • 【精选】SpringMVC简介及其执行流程,参数获取方式

    MVC模型 MVC全称Model View Controller,是一种设计创建Web应用程序的模式。这三个单词分别代表Web应用程序的三个部分: Model(模型):指数据模型。用于存储数据以及处理用户请求的业务逻辑。在Web应用中,JavaBean对象,业务模型等都属于Model。 View(视图):用于展示模型中的数

    2024年02月05日
    浏览(26)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包