当前位置: 首页 > news >正文

重庆妇科医院推荐陕西seo

重庆妇科医院推荐,陕西seo,小程序登录入口网页版官网,义乌网站建设和制作Spring MVC的Controller接收请求参数的方式有多种,本节主要介绍Spring MVC下的HttpServletRequest、基本数据类型、Java Bean、数组、List、Map、JSON参数传递方式,同时解决POST请求中文乱码问题。 1. HttpServletRequest参数传递 Controller RequestM…

Spring MVC的Controller接收请求参数的方式有多种,本节主要介绍Spring MVC下的HttpServletRequest、基本数据类型、Java Bean、数组、List、Map、JSON参数传递方式,同时解决POST请求中文乱码问题。

1. HttpServletRequest参数传递

@Controller
@RequestMapping("/param")
public class ParamController {/***  通过HttpServletRequest接收参数*/@RequestMapping("/servlet")public void servlet(HttpServletRequest request, HttpServletResponse response) throws IOException {String name = request.getParameter("name");System.out.println("name=" + name);PrintWriter writer = response.getWriter();writer.print("hello " + name);writer.flush();writer.close();}
}

2. 基本数据类型参数传递

基本数据类型以及他们的包装类。

@Controller
@RequestMapping("/param")
public class ParamController {/*** 使用基本数据类型和String类型*/@RequestMapping("/simple")@ResponseBodypublic String simple(int id, String name) throws IOException {String str = "id = " + id + ",name = " + name;System.out.println(str);return str;}
}

3. Java Bean参数传递

@Controller
@RequestMapping("/param")
public class ParamController {/*** JavaBean传递参数*/@RequestMapping(value = "/bean",produces = "text/plain;charset=UTF-8",method = RequestMethod.POST)@ResponseBodypublic String paramBean(Student student){System.out.println(student);return student.toString();}
}

4. 数组参数传递

@Controller
@RequestMapping("/param")
public class ParamController {/*** 数组参数*/
@RequestMapping(value = "/array",method = RequestMethod.POST)
@ResponseBody
public String array(String[] hobbies){for(String hobby : hobbies){System.out.println(hobby);}return "success";
}
}

5. List参数传递

@Controller
@RequestMapping("/param")
public class ParamController {/*** List参数*/
@RequestMapping(value = "/list",method = RequestMethod.POST)
@ResponseBody
public String list(@RequestParam List<String> hobbyList){hobbyList.forEach(hobby -> System.out.println(hobby));return "success";
}
}

6. Map参数传递

@Controller
@RequestMapping("/param")
public class ParamController {/*** Map参数*/
@RequestMapping(value = "/map",method = RequestMethod.POST)
@ResponseBody
public String map(@RequestParam Map<String,Object> map){System.out.println(map);return "success";
}
}

7. JSON参数传递

JSON格式采用键值对的方式来表示数据,由花括号 {} 包含对象,由方括号 [] 包含数组,可通过JSON在线解析工具进行校验/格式化,具体格式如下:

  • 对象

对象是一个无序的键/值对集合,每个键后面需要添加一个冒号(:),键/值对之间使用逗号(,)分隔。

{"id": "1","name": "zhangsan","age":20
}
  • 数组

数组可以包含多个元素,每个元素之间使用逗号(,)分隔,可以包含简单值、对象或者其他数组。

[{"id": "1","name": "zhangsan"},{"id": "2","name": "zhangsan"}
]

Spring MVC可以使用Jackson框架作为JSON的转换器。

通过@RequestBody可以将前端的JSON参数转成Java Bean、Map、List等引用类型。

通过@ResponseBody可以将后端的Java Bean、Map、List等引用类型转成JSON结果输出。

使用Jackson时需要三个jar包jackson-databind.jar、jackson-core.jar、jackson-annotations.jar。如果Spring MVC创建的是Maven项目,仅需要依赖jackson-databind,因为它传递依赖了jackson-core和jackson-annotations。

@Controller
@RequestMapping("/json")
public class JsonController {/*** json bean*/@RequestMapping(value = "/bean",method = RequestMethod.POST)@ResponseBodypublic Object bean(@RequestBody Student student){System.out.println(student);Map<String,Object> map = new HashMap<String,Object>();map.put("code",200);map.put("msg","success");map.put("data",student.toString());return map;}/*** json map*/@RequestMapping(value = "/map",method = RequestMethod.POST)@ResponseBodypublic Object map(@RequestBody Map<String,Object> jsonMap){System.out.println(jsonMap);Map<String,Object> map = new HashMap<String,Object>();map.put("code",200);map.put("msg","success");map.put("data",jsonMap);return map;}/*** json list*/@RequestMapping("/list")@ResponseBodypublic Object list(@RequestBody List<Student> studentList){System.out.println(studentList);Map<String,Object> map = new HashMap<String,Object>();map.put("code",200);map.put("msg","success");map.put("data",studentList);return map;}
}

8. Spring MVC解决POST请求中文乱码问题

Spring提供了CharacterEncodingFilter解决POST请求中的中文乱码问题,在web.xml中配置CharacterEncodingFilter。

<web-app><!--解决POST中文乱码问题 过滤器--><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
</web-app>

9. Spring MVC参数传递案例

基于Spring MVC实现HttpServletRequest、基本数据类型、Java Bean、数组、List、Map、JSON方式的参数传递。

案例实现详见链接:案例13 Spring MVC参数传递案例

http://www.khdw.cn/news/40897.html

相关文章:

  • 微网站制作焦作整站优化
  • 济南正宗网站建设报价网站设计需要什么
  • 西安淘宝网站建设公司排名十堰seo
  • 外国做视频在线观看网站竞价排名营销
  • 网站功能列表小红书seo是什么意思
  • 莞城网站制作手机优化大师官网
  • 哪里有免费的网站自己做网站seo推广
  • 电商网站构建预算方案杭州网站优化方案
  • 深圳室内装修设计公司排名短视频seo搜索优化
  • 交互设计作品集网站搜索引擎优化要考虑哪些方面
  • 网站开发 项目的人员分配收录查询
  • 企业官网网站模板下载不了自建网站
  • 欢迎进入中国建设银行网站运营和营销是一回事吗
  • vs2013 做网站广告推销
  • 教育网站建设班级优化大师学生版
  • 网站运营主体站长工具网站备案查询
  • 静态网站制作视频企业网站seo推广方案
  • 招聘代做网站网络广告文案案例
  • 可以帮忙做网站做公司域名注册好了怎么弄网站
  • 建网站服务器用什么网页代码大全
  • 橙色短信网站模板百度推广联系方式
  • 能自己做效果图的网站2023年9月疫情又开始了吗
  • 哈尔滨网站改版外贸谷歌优化
  • 广告型网站怎么做长沙网站seo源头厂家
  • 网站建设的公司地址内容营销成功案例
  • 北京比较好的网站建设公司真实的网站制作
  • 微信关联网站佛山网站seo
  • 怎么建设一个微信网站站长工具的网址
  • 虹口网站建设b2b外链代发
  • 网站建设技术清单网络优化培训骗局