我们的GET方式直接在网页后用?和&来书写传递参数:

文章插图
我们的POST方式只能在下方的body中书写参数:

文章插图
然后我们需要注意到的是这里的中文同样会出现乱码行为
这次我们选择在ServletContainersInitConfig中处理数据:
// 下述代码基本属于我们创建项目的固定代码package com.itheima.config;import org.springframework.web.filter.CharacterEncodingFilter;import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;import javax.servlet.Filter;public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {protected Class<?>[] getRootConfigClasses() {return new Class[0]{SpringConfig.class};}protected Class<?>[] getServletConfigClasses() {return new Class[]{SpringMvcConfig.class};}protected String[] getServletMappings() {return new String[]{"/"};}//乱码处理@Overrideprotected Filter[] getServletFilters() {// CharacterEncodingFilter 属于处理中文编码的过滤器,我们直接创建即可(一次性操作)CharacterEncodingFilter filter = new CharacterEncodingFilter();filter.setEncoding("UTF-8");return new Filter[]{filter};}}
按参数方式我们按参数来分类主要分为五种:- 普通参数
- POJO类
- 嵌套式POJO类
- 数组参数
- 集合参数
普通参数普通参数:请求参数和形参变量名相同时,自动匹配
package com.itheima.controller;import com.itheima.domain.User;import org.springframework.format.annotation.DateTimeFormat;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import java.util.Arrays;import java.util.Date;import java.util.List;//请求参数@Controllerpublic class UserController {//普通参数:请求参数与形参名称对应即可完成参数传递@RequestMapping("/commonParam")@ResponseBodypublic String commonParam(String name ,int age){System.out.println("普通参数传递 name ==> "+name);System.out.println("普通参数传递 age ==> "+age);return "{'module':'common param'}";}}
Postman操作:
文章插图
这里需要注意:当请求参数名与形参名不同时,使用@RequestParam注解关联请求参数名称与形参名称之间的关系
package com.itheima.controller;import com.itheima.domain.User;import org.springframework.format.annotation.DateTimeFormat;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import java.util.Arrays;import java.util.Date;import java.util.List;//请求参数@Controllerpublic class UserController {//普通参数:请求参数名与形参名不同时,使用@RequestParam注解关联请求参数名称与形参名称之间的关系@RequestMapping("/commonParamDifferentName")@ResponseBodypublic String commonParamDifferentName(@RequestParam("name") String userName , int age){System.out.println("普通参数传递 userName ==> "+userName);System.out.println("普通参数传递 age ==> "+age);return "{'module':'common param different name'}";}}
经验总结扩展阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 第一篇 TTD 专题 :C# 那些短命线程都在干什么?
- 局局是什么意思?
- 猪猪是什么意思?
- 小猪猪是什么意思?
- 六杀是什么意思?
- 侧脸杀是什么意思?
- 侧颜杀是什么意思?
- skr狠人是什么意思?
- who care、who cares是什么意思?
- 莫挨老子是什么意思?