摘要:上篇我们搞定了JSON和乱码,本篇继续冲刺!自定义日期转换器让"字符串"变"Date",拦截器当"安检员"守好请求大门,还有文件上传的"快递驿站"搭建指南!
目录
-
一、日期转换器:让字符串和Date对象"无缝切换"
-
二、拦截器:SpringMVC的"安检员"(附与Filter的区别)
-
三、文件上传:搭建你的"快递驿站"(从依赖到Controller)
一、日期转换器:让字符串和Date对象"无缝切换"
前端传个日期字符串(比如"2026-03-19"),后端怎么直接转成java.util.Date?SpringMVC默认不会自动转,得我们自己写个"翻译官"------日期转换器!
1. 第一步:创建日期转换器类
实现Converter<String, Date>接口:
2. 第二步:在SpringMVC配置文件中注册
在springmvc.xml里配置转换器工厂,并让<mvc:annotation-driven>用上它:
3. 第三步:Controller里直接用Date接收
前端请求:/testDate?birthday=2026-03-19,完美接收!
二、拦截器:SpringMVC的"安检员"(附与Filter的区别)
拦截器(Interceptor)就像机场的安检员,在请求到达Controller之前和之后进行检查。它和Filter(过滤器)很像,但出身不同!
1. Filter vs Interceptor:出身和场景大不同
| 对比项 | Filter(过滤器) | Interceptor(拦截器) |
|---|---|---|
| 原理 | 方法回调 | AOP(面向切面编程) |
| 依赖 | 不依赖Spring框架 | 必须依赖Spring框架 |
| 常见场景 | 中文乱码处理 | 登录校验、权限校验 |
2. 拦截器使用第一步:创建拦截器类
实现HandlerInterceptor接口,有三个方法可以重写:
3. 拦截器使用第二步:在SpringMVC配置文件中配置
在springmvc.xml里配置拦截路径和排除路径:
三、文件上传:搭建你的"快递驿站"(从依赖到Controller)
文件上传就像开"快递驿站":前端是寄件人,表单是快递盒,后端是驿站管理员。我们来一步步搭建!
1. 第一步:导入依赖(pom.xml)
需要commons-fileupload依赖来处理文件上传:
2. 第二步:配置文件上传解析器(springmvc.xml)
注意:这个Bean的id必须是multipartResolver!
3. 第三步:写上传表单(JSP/HTML)
表单必须满足三个条件:method="post"、enctype="multipart/form-data"、input type="file":
4. 第四步:写Controller处理上传
用MultipartFile接收上传的文件:
注:记得在项目webapp下创建upload文件夹哦!
总结
SpringMVC的三大高级技能我们都搞定啦:
-
日期转换器:自定义Converter,字符串转Date不是梦;
-
拦截器:实现HandlerInterceptor,登录校验权限控;
-
文件上传:导入依赖配解析器,MultipartFile来接收。
至此,SpringMVC新手村通关!恭喜你成为初级SpringMVC战士!
互动话题
你用拦截器做过最有意思的功能是什么?评论区分享一下吧!