用jspsmartupload实现文件上传下载遇到的问题

java学习之路. 专栏收录该内容
8 篇文章 0 订阅

今天学习了在web项目中用jspsmartupload插件实现简单的文件上传下载功能,因为过程很曲折,就写了下来。最开始,因为第一次用插件,发现插件比写底层方法要快多了。但用的过程中就发现了一些问题,对于初学java的我实在是头大。记录一下遇到的问题吧:


1.在文件上传的jsp页面出现中文乱码的问题,在网上搜了一下午加一晚上的方法,各种尝试。大多数都是request.setCharacterEncoding("utf-8")、response.setCharacterEncoding("utf-8")这样的。或者修改tomcat服务器配置参数为utf-8格式。然后保证页面编码格式统一的方法,我都尝试过,发现问题解决不了。后来看到一个博主写到把jsp页面的编码格式改为gbk格式的,试了一下,果然不乱码了。非常开心...但


2.在实现文件下载的时候,因为我是用a标签带参数传到后台的,前端显示都好好的中文,a标签带到后台的中文却成了乱码。我检查了一下所有相关的servlet和jsp页面,除了上传文件的jsp页面是gbk编码的其他都是utf-8的格式,我知道问题肯定出在这,但是除了把jsp页面设置成GBK格式之外,实在找不到什么其他方法解决上传文件中文名乱码这个问题了。于是,对基础传数据传输编码这块一点不懂的我采用各种排列组合方式修改各servlet和jsp编码格式(可能完全是多余的),但我还是这么做了....失败告终!


3.最后,被逼无奈,只得去修改jspsmartupload源码:

①先去官网下了一个反编译工具jd-gui。

②将jspsmartupload.jar包解压出来,用反编译工具读取了.java文件。又存到桌边为.class文件(这样就可以修改源码了)

③按照网上大神们的方法改了两处代码,其实也就是加了一个编码格式为utf-8

④将修改后的smartupload.class文件同其他4个.class(都导了出来)一起放到了eclipse上新建的一个工程下,让eclipse帮我重新编译了一下(最开始尝试用cmd控制台去编译.class文件,出了很多错误,因为smartupload.class中导了很多其他包,没法单个编译,试了一些方法未果就求助了eclipse)。重新编译后,把里面的smartupload.java替换掉了原本的文件,导入工程

⑤用了修改后的jar包,把原本jsp页面的编码格式也改回了utf-8,发现问题解决了,但可能也就是暂时的解决吧,毕竟对数据传输编码这块不了解。


Ps:任重道远...



----来自一个学了3个月java的小渣渣.

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

0冰镇柠檬汁0

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值