五.SpringMVC 实现文件上传下载、国际化

本文介绍如何在SpringMVC中实现文件上传与下载功能,包括配置文件上传解析器、处理多文件上传及文件下载流程。此外还介绍了SpringMVC国际化的实现方式,包括消息资源文件的配置、本地化信息的解析与监听。
摘要由CSDN通过智能技术生成

1.SpringMVC 实现文件上传下载
MultipartResolver 文件上传

maxUploadSize 文件最大限制,单位是byte
maxInMemorySize 低于这个大小的文件暂存内存中
defaultEncoding 默认编码

      <!--   file upload -->
    <bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="defaultEncoding" value="utf-8" />
        <property name="maxUploadSize" value="10485760000" />
        <property name="maxInMemorySize" value="4096" />
    </bean>

这里写图片描述
配置form表单,必须添加enctype=”multipart/form-data”
引入jar包 :
commons-fileupload.jar
commons-io-1.4.jar
编写Java代码 :

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile(“file”);
FileCopyUtils.copy(file.getBytes(), uploadFile);

多文件上传:只需Java代码for循环依次上传文件
这里写图片描述
文件下载:字节流
设置编码格式为text/html;charset=utf-8
设置header中Content-disposition属性值为attachment; filename=文件名
设置header中Content-Length属性,值为文件的大小
这里写图片描述
2.SpringMVC 实现国际化与图片验证码

Spring通过实现MessageSource接口,来支持国际化
ResourceBundleMessageSource常用实现类
LocaleResolver接口实现类实现本地化信息解析
LocaleChangeInterceptor实现本地化信息监听

LocaleResolver三个常用实现类:
AcceptHeaderLocaleResolver
CookieLocaleResolver
SessionLocaleResolver

新建文件夹存放资源文件,里面新建message.zh_CN.properties和message.en_US.properties。spring的配置文件中加入相关配置代码
这里写图片描述

新建一Filter类,获取当前Locale:
这里写图片描述
web.xml文件中配置Filter:
这里写图片描述
在JSP页面中实现国际化

图片验证码:
这里写图片描述
3.SpringMVC 执行定时任务,处理静态资源,配置视图解析器
这里写图片描述

定时任务配置

配置springmvc文件
编写定时任务类,用 @Component注解标注类
在方法上 使用 @Scheduled 注解,同时方法不能又返回值
定义cron表达式(秒,分,时,天(月),月,(天)星期,年)
0 0 12 * * ? 每天12点触发
0 15 10 ? * * 每天10点15分触发
0 15 10 * * ? 2015 2015年每天10点15分触发
0 * 14 * * ? 每天下午的 2点到2点59分每分触发
0 0/5 14,18 * * ? 每天下午的 2点到2点59分、18点到18点59分
0 0-5 14 * * ? 每天下午的 2点到2点05分每分触发

处理静态资源:静态资源可以直接访问

开放tomcat的defaultServlet,修改默认的url-parttern
SpringMVC的resources标签配置
这里写图片描述

或者:<mvc:default-servlet-handler />

location:本地资源路径,必须是webapp根目录下的路径
两个*,表示映射resources/下所有的URL,包括接多个/,
放在WEB-INF中的静态资源,则必须修改resources映射带上/WEB-INF路径
附注:
文件上传:在spring.xml中定义

    <beain id="multipartResolver" ....>...  </bean>

form表单,enctype=”multipart/form-data”
引入jar
controller取得上传文件,取上传路径webapp,加个子路径,创建,把上传文件送进去。
多文件上传:循环
验证码:随机生成放session,与输入的对比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>