目录
配置全局乱码过滤器
参数绑定注解@RequestParam
注解@RequestParam的参数使用说明
获得Restful风格的参数
自定义类型转换器
自定义转换器的开发步骤:
获得Servlet相关API
配置全局乱码过滤器 请求数据的乱码问题
当postt请求时,数据会出现乱码,我们可以设置一个过滤器来进行编码的过滤。
在web.xml中配置过滤器即可
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encodingUTF-8
CharacterEncodingFilter /*
参数绑定注解@RequestParam
当请求的参数名称与Controller的业务方法参数名称不一致是,就需要通过@RequestParam注解显式的绑定
文章图片
业务方法中的参数为username,请求的参数为name,两者不一致,所以需要进行绑定,使用@RequestParam(value="https://www.it610.com/article/name")进行
注解@RequestParam的参数使用说明
value:与请求参数名称
required:指在指定的请求参数是否必须包括,默认是true,默认值下提交时如果没有此参数则报错
defaultValue:放没有指定参数时,则使用的默认值赋值
获得Restful风格的参数 Restful是一种软件架构风格、设置风格,而不是标准,只是提供了一组设计原则和约束条件。主要用于客服端和服务器交互的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存机制等
Restful风格的请求是使用“url+请求方式”表示一次请求的目的地,HTTP协议里面四个表示操作方式的动词如下
- GET:用于获取资源
- POST:用于新建资源
- PUT:用于更新资源
- DELETE:用于删除资源
- /user/1GET:得到id=1的user
- /user.1DELETE:删除id=1的user
- /user/1PUT:更新id=1的user
- /userPOST:新增user
文章图片
//配置类,使用注解把这个类放到容器中
@Controller
@RequestMapping(value="https://www.it610.com/user")
public class userController {
//localhost:8080/quick17/zhangsan
@RequestMapping(value = "https://www.it610.com/quick17/{username}",method=RequestMethod.GET)
@ResponseBody
public void save17(@PathVariable(value = "https://www.it610.com/article/username") String username){
System.out.println(username);
}
}
文章图片
控制台就会打印出张三
自定义类型转换器
SpringMVC默认已经提供了一些常用的类型转换器,例如客户端提交得字符串转化为int型进行参数设置但不是所有的数据类型都提供了转换器,没有提供的就需要自定义转换器,例如:日期类型的数据就需要自定义转换器。
自定义转换器的开发步骤:
- ①定义转换器类实现Converter接口
- ②在配置文件中声明转换器
- ③在中引用转换器
时间类型的,Spring提供了yyyy/MM/dd的日期输入格式,但是我们习惯使用,如2022-7-21而不会写2022/7/21,我们没按照规定写就会报错,所以我们配置自定义的转换器①定义转换器类实现Converter接口
在converter包下。
package com.converter;
import org.springframework.core.convert.converter.Converter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
//ConverterString类型转date类型
public class DateConverter implements Converter {
public Date convert(String dateStr) {
//将日期的字符串转换成日期对象 返回
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = format.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}
②在配置文件中声明转换器
spring-mvc.xml中
③在中引用转换器
也在spring-mvc.xml中
文章图片
获得Servlet相关API SpringMVC支持使用原始ServletAPI对象作为控制器方法的参数进行注入,常用的对象如下:
- HttpServletyRequest
- HttpServletResponse
- HttpSession
文章图片
【SSM框架|SpringMVC全局乱码过滤器、注解@RequestParam、自定义类型转换器】会打印一些地址。
推荐阅读
- #|Spring|SpringMVC的请求和响应以及文件上传
- SSM框架|SpringMVC回写数据方式方法
- SSM框架|SpringMVC获得请求数据类型
- java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
- SpringMVC|SpringMVC文件上传和文件下载
- Spring|SpringMVC获得请求数据-文件上传
- 大数据|《2022年道德黑客洞察报告》(不少人计划当全职漏洞猎人)
- 单元测试|又一个 4w Star 的大厂开源项目不维护了!
- 网络|开源linux_对技术的热爱导致Linux和开源