Java组件(一):我对组件的认识及文件上传的中文名乱码解决方案
解耦一直是开发者所推崇的一种开发理念也可以说是一种思想,一个软件或系统的质量,不仅仅只是当下的功能实现,更多的时候是要考虑到以后的扩展。
因此也就有了MVC三层架构,实现业务数据表现的分离,增加维护性,从侧面增加了功能的易拓展性。如果要对一个用纯jsp做的系统,做功能扩展,肯定是很多人
都不愿意去做的。因为代码与页面标签交叉。最怕的就是注释也不好的系统。仅仅理解业务逻辑就够受的了。从侧面又一次证明解耦的重要性。流行的ssh框架也是
由于spring的加入变得盛行。spring就是解耦合的。好啦闲话不多说了。
jsp虽然给我们的印象不太好。不过个人看来jsp具有j2ee中任何框架的功能。只要java在框架中能做的功能,在jsp上都能做。框架也是由各种jar包组成。
jar包本身就可以在任意地方调用,也意味着在jsp里一样随便调用。当然这仅仅是功能实现方面。jsp的缺点大家也都清楚。比如说安全性低,不易维护,层次混乱
等等。不过我觉得jsp可以对于功能解耦起很大作用。我们往常说的解耦都是对象之间的解耦,我这里把解耦上升一个层面,上升到功能层次。模块的概念显然比较
大,所以jsp仅限于功能上的解耦。
如果在原有功能上需要扩展一个功能,那么最理想的实现就是尽量少的修改之前的代码,把这个功能加上,而不是在原有代码的基础上插入新代码。那么
jsp就发挥作用了,拷贝几个jar包加上几个jsp就能解决问题,而基本不用在框架中做拓展,我认为这是比较好的方案。降低了出错的几率,因为不用修改原来的代
码。降低了功能间的耦合度,功能可以方便的拆卸拼装。这就是功能组件的最好实现,高封装,高集成,高性能,无依赖,良好的适应性,安全性。
最近有位同学写了一个servlet+jquery的上传带进度条,我觉得这个功能挺不错的,提高了用户体验。至于界面...。于是俺也实现了一个,也是利用
common-fileupload+js+jsp,不过文件名乱码又出现了。尝试了几次,问题解决。只是加了一句代码而已。
DiskFileUploadEx fu = new DiskFileUploadEx();//经过扩展
fu.setHeaderEncoding("utf-8");
fu.setHeaderEncoding("utf-8");
一般从网上找的代码都不太完善,一般也不会有公司愿意发放自己的实现,都很封闭。话说回来了,全开放了也没啥好处。搞开发的就都失业了。
好了就到这,最后发个截图:

作者:Steven(Steven's Think out)
出处:http://shiyangxt.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。