栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC获取请求参数的方式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC获取请求参数的方式

SpringMVC获取请求参数
      • 1、通过ServletAPI获取
      • 2、通过控制器方法的形参获取请求参数
      • 3、@RequestParam
      • 4、@RequestHeader
      • 5、@CookieValue
      • 6、通过POJO获取请求参数
      • 7、解决获取请求参数的乱码问题

1、通过ServletAPI获取

将HttpServletRequest作为控制器方法的形参,此时HttpServletRequest型的参数表示封装了当前请求的请求报文的对象

get方式提交过来的参数为?username=张三&password=123456

@RequestMapping("/testParam")
public String testParam(HttpServletRequest request){
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    System.out.println("username:"+username+",password:"+password);
    return "success";
}
2、通过控制器方法的形参获取请求参数

在控制器方法的形参位置,设置和请求参数同名的形参,当浏览器发送请求,匹配到请求映射时,在DispatcherServlet中就会将请求参数赋值给相应的形参

@RequestMapping("/testParam")
public String testParam(String username, String password, String[] hobby){
    System.out.println("username:"+username+",password:"+password);
    System.out.println(hobby);
    return "success";
}

注:若请求所传输的请求参数中有多个同名的请求参数,此时可以在控制器方法的形参中设置字符串数组或者字符串类型的形参接收此请求参数

3、@RequestParam

@RequestParam注解一共有三个属性:
1.value:指定为形参赋值的请求参数的参数名
2.required:设置是否必须传输此请求参数,默认值为true
3.defaultValue:不管required属性值为true或false,当value所指定的请求参数没有传输或传输的值为""时,则使用默认值为形参赋值

4、@RequestHeader

@RequestHeader是将请求头信息和控制器方法的形参创建映射关系
@RequestHeader注解一共有三个属性:value、required、defaultValue,用法同@RequestParam

5、@CookieValue

@CookieValue是将cookie数据和控制器方法的形参创建映射关系
@CookieValue注解一共有三个属性:value、required、defaultValue,用法同@RequestParam

6、通过POJO获取请求参数

可以在控制器方法的形参位置设置一个实体类类型的形参,此时若浏览器传输的请求参数的参数名和实体类中的属性名一致,那么请求参数就会为此属`性赋值

先建一个User实体类,封装其属性

@RequestMapping("/testpojo")
public String testPOJO(User user){
    System.out.println(user);
    return "success";
}
//最终结果-->User{id=null, username='张三', password='123456', age=20, sex='男', email='123456@qq.com'}
7、解决获取请求参数的乱码问题

解决获取请求参数的乱码问题,可以使用SpringMVC提供的编码过滤器CharacterEncodingFilter,但是必须在web.xml中进行注册



    CharacterEncodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
    
        encoding
        UTF-8
    
    
    
        forceResponseEncoding
        true
    


    CharacterEncodingFilter
    /*

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/951236.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号