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

SpringMV获得请求参数

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

SpringMV获得请求参数

SpringMV获得请求参数

1.获得基本类型参数
Controller中的业务方法的参数名要与参数的name一致,参数值会自动映射匹配
@RequestMapping(value="/allBook10",produces= "text/plain;charset=utf-8")
@ResponseBody
public String list10(String name,int age) throws IOException{
  return name+age;
}

结果:

2.获得POJO类型参数

Controller中的业务方法的POJO参数的属性名要与参数的name一致,参数值会自动映射匹配

@RequestMapping(value="/allBook11",produces= "text/plain;charset=utf-8")
@ResponseBody
public void list11(Student student) {
    System.out.println(student);
}


结果:
Student(name=zhangsan, age=24, Address=wup)
3.获得数组类型参数

Controller中的业务方法的数组名要与参数的name一致,参数值会自动映

@RequestMapping(value="/allBook12",produces= "text/plain;charset=utf-8")
@ResponseBody
public void list12(String[] strs) {
    System.out.println(Arrays.asList(strs)); //该方法是将数组转化为list
    System.out.println(Arrays.toString(strs)); //重写toString
}
结果:
[12, 14, 18]
[12, 14, 18]
4.获取集合类型参数 5.参数绑定@RequestParam
   当请求的参数名称与Controller的业务方法参数名称不一致时,就需要通过@RequestParam注解显示绑定

这里的@RequestParam(“name”) 里的name指你客户端传的属性名

如果和@RequestParam(“name”) 又不一致的话

@RequestMapping(value="/allBook14",produces= "text/plain;charset=utf-8")
@ResponseBody
public void list14(@RequestParam("name") String username) {
    System.out.println("传入的参数为"+username);
}
结果:
传入的参数为张三
也可以对@RequestParam()添加多个属性

value:与请求参数名称
required:表示这个请求参数必须有,如果没有则报错
defaultValue:表示没有指定参数时,使用默认值

@RequestMapping(value="/allBook15",produces= "text/plain;charset=utf-8")
@ResponseBody
public void list15(@RequestParam(value = "name",required = false,defaultValue = "我是默认值") String username) {
    System.out.println("传入的参数为"+username);
}
结果:
传入的参数为我是默认值
6.获得Servlet相关API
@RequestMapping(value="/allBook17")
@ResponseBody
public void list17(HttpServletRequest request, HttpServletResponse response, HttpSession session) {
    System.out.println(request);
    System.out.println(response);
    System.out.println(session);
}
结果:
org.apache.catalina.connector.RequestFacade@43147d40
org.apache.catalina.connector.ResponseFacade@457f3459
org.apache.catalina.session.StandardSessionFacade@912cc6d
7.获得请求头

使用@RequestHeader可以获得请求头信息,相当于web阶段学习的request.getHeader(name)

@RequestHeader注解的属性如下:
      value:请求头的名称
      required:是否必须携带次请求头
@RequestMapping(value="/allBook18")
@ResponseBody
public void list18(@RequestHeader(value="User-Agent",required = false) String headerValue) {
    System.out.println(headerValue);
}
结果:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.55
8.获得Cookie
  使用@CookieValue可以获得指定Cookie的值
@CookieValue注解的属性如下:
      value:Cookie的名称
      required:是否必须携带此cookie

@RequestMapping(value="/allBook19")
@ResponseBody
public void list19(@CookieValue(value="JSESSIONID",required = false) String jsessionid) {
    System.out.println(jsessionid);
}
结果:
6326CFA25571F306A8C15B59226BEF3C
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/885730.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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