- 浏览: 131573 次
- 性别:
-
最新评论
-
seacow2008:
同1楼,深入浅出
Java并发编程(二) CountDownLatch -
Mojarra:
java0000wa 写道不能搞得通俗易懂一点? demo S ...
fastupload 0.6.0发布 -
java0000wa:
不能搞得通俗易懂一点? demo Spring jar包都少了 ...
fastupload 0.6.0发布 -
Mojarra:
tegger 写道不好意思设置字符编码解决了,还是挺好用的,不 ...
fastupload 0.6.0发布 -
tegger:
不好意思设置字符编码解决了,还是挺好用的,不错
fastupload 0.6.0发布
文章列表
白话MVC(二)
在Struts的过滤器中,经过调用PrepareOperations.createActionContext(Request, Response)函数后,一个ActionContext对象被创建了,与Action有关的数据全部放在了ActionContext中,有些地方仍然使用HttpRequestServlet.getAttribute(String)这个函数取值,所以struts框架包装HttpRequestServlet,覆盖此函数,使它能从ActionContext中取值,譬如说:取ValueStack的值,它的key是"com.opensymphony.x ...
白话MVC(一)
白话MVC(三)
在第一篇中,花了主要篇幅探讨了MVC框架中对于编写Model层 ...
白话MVC(二)
最近在带一“徒弟”,领悟能力很高,对我的能力也提出了新的要求,在“带”的过程中,发现了一有趣的现象,很多东西会用,但是要想用清楚的语言把这些技术描述出来,还是很有难度的。特别是在讲Spring框架的使用,不少知识点的使用已经和学校课本上所教的东西脱节,“徒弟”理解起某些概念起来感到比较陌生。我也不想告诉他,这东西就是这么用的,按照这样的写法去写代码,就能实现模块功能。在我看来,程序代表的是心中的想法,对程序员来说,程序是心中想法的最终实现,有必要对一些概念的产生及作用做进一步的探讨。
在探讨的过程中,发现其实对自己一些概念上的认识也很有提高。好,开头写到这里 ...
fastupload 0.31版本上周已经发布,因为工作的关系,只到今天才有点时间来写一些0.31版本中深层次的东西。fastupload以前的版本,尽管在性能上取得了不小的进步,但只支持解析文件,不支持解析非文件的内容,因为HttpFileUploadParser这个类来解析ServletRequest的输入流的过程中,忽略非文件的请求数据。举个列子来说,假如表单中有两个input标签,一个是文本输入控件,一个是文件输入控件,经过HttpFileUploadParser解析后,只会把文件类型请求的数据保存在指定的目录下。
在fastupload项目编写之初,考虑的是如何把文件类型请求的 ...
fastupload根据RFC 1867文档规范,编写的基于表单文件上传的组件,支持表单多文件上传,二进制文件与文本文件分开处理,彻底解决上传文本文 件编码问题,支持文件上传大小限制,支持文件上传进度计算,api接口简明,比Apache Co ...
前天发布了fastupload 0.2.3,没想到受到了大家的关注,下载量急剧上升。首先说明一下,写fastupload纯粹是个业余爱好,拿出来几行好的代码与大家分享,后来测试了一下,确实比Apache上的common file upload要快很多。放出来两组测试数据与测试代码,限于时间与水平关系,这里不做分析与评价,只看具体数据。
测试环境还是本人的小笔记本,与第一回里测试里所用的是一模一样的,测试代码有兴趣的可以从文后的附件中下载,有兴趣的读者可以亲自测试一下。
第一组,上传三个图片,分别是348k、331k、368k,fastupload的测试结果如下
//单位 ms
cost ...
fastupload 0.2.3发布,增加了对sub-boundary的支持,修复了一个在0.1.1版本中发现的可能因为数据块末尾不包含完整上传文件信息的bug,新增加类,HttpFileUploadParser,担负文件上传的解析工作,原类FileUploadParser不再承担解析Http文件的功能。
新的api使用如下,
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//创建Dis ...
RFC1867规范中,对表单上传文件的大小和进度都没有作出规定,W3C的HTML规范的FileUpload对象(<input type="file"> 标签每出现一次,一个 FileUpload 对象就会被创建)也没有对表单中的文件大小作出限制,因此,这个问题还是留给了WEB应用服务器端开发人员。
HTTP请求提交到服务器端后,在未解析各boundary中的文件内容之前,是可以知道这次HTTP请求的总长度的,但是考虑到一个表单内可以容纳多个FileUpload对象,所以,只要发现解析的两个boundary内的字节数超过指定的数量,立即抛出一个运行期异常Thresh ...
文件上传的秘密系列之一, http://mojarra.iteye.com/blog/1412497
文件上传的秘密系列之二, http://mojarra.iteye.com/blog/1534821
对照著名的Apache Common File Upload这个组件, 做一下对比。选取两组文件,每组文件各包含三张照片。
第一组中三张照片的大小是,1.7M、1.7M、1.2M
第二组中三张照片的大小是,574K、588K、384K。
每组文件分别上传20次。计时每次接收文件所用的时间,单位ms.
测试的环境就是本机,配置为i5 2.3G/内存4G/硬盘5400转 ...
到此
,我
们
已
经实现
了表
单
文件上
传
的功能,解析后的文件以二
进
制的方式写入到文件系
统
里。但是,有点小小
遗
憾,
请求发送到服务器端后,服务器并不知道请求是以何种字符集进行编码的。这不是一个技术问题,而是整个软件行业中对字符集的编码与转化缺乏一个统一的标准。因此,这个问题留给了开发人员,告诉浏览器,以何种字符集进行编码、在服务器端以何种字符集进行解码。
如果开发人员没有告诉编码,浏览器将以
iso-8859-1作为默认编码。 开发人员告诉浏览器编码后,浏览器根据两个
boundary内的
MIME数据,决定是 ...
单元是逻辑上的,单元这词还真不好拿一个比较准确的句子去概述,在实际的代码编写过程中,究竟怎么划分单元,是一个很有意思的问题,拿一个DAO的编写来探讨。
写一个DAO的时候,先写接口,再写实现类,程序员基本是 ...
RFC1867文档对WEB表单上传文件做了详细的描述,但J2EE的Servlet规范中却没有针对此功能规定一个API,没有接口也没有抽象类,更不要说一个具体类了。幸好,著名的开源组织Apache的官网上有一个Common File Upload这个项目,给广大的J2EE开发者解决了这个比较麻烦的问题。会用Common File Upload这个开源组件解决表单文件上传问题是一回事,能知道这个组件的优缺点是另外一回事,如果能知道RFC1867文档中对于表单上传文件的规定、并实现文件上传的功能,是另外一回事。
干嘛干嘛,你这不是闲的蛋疼嘛,有现成的轮子不用,非要再造一个相同的轮子呢?听起来 ...
前几天在论坛里看到一个帖子说百度的一道面试题,两个文件里各约有两亿行数据,每行只有一个数字,问如何求两个文件中数据的交集。
最近对大数据的处理比较感兴趣,所有思考了一下这个问题,对于JVM来说,两亿数据是非常多的,直接用数组来处理,是行不通的,另外,两亿的数据,效率也是一个重要的考量度。本来可以借助Hash的方法来解决这个问题,但因为每行只有一个数据,也就是只有数字0~9, 那么可以采用一个简便的方法,读取文件中的数字,假如是1, 那么给一个int数组的第1位加1,其他的数字如此类推,假如是2,给这个int数组的第2位加1, 直到所有的数据读取完毕。另外一个文件也采用相同的方法,最后,比 ...
Restore View Phase
当点
击
超
链
接或者表
单
按
钮
,
JSF
请
求被
创
建,
JSF
实现
框架开始
Restore View
阶
段。
这
个
阶
段中,
JSF
实现
框架
为页面
打造
视图
,在
视图
中
组
装事件
处
理器和校
验
器,保存
这
个
视图
到
FacesContext
实
例之中。
FacesContext
实
例包含所有的需要被
单
个
请
求
处
理的信息。所有的
组
件
标签
,事件
处
JSF 页面生命周期管理 (一)
- 博客分类:
- JSF
JSF
页
面的生命周期
类
似于
JSP
页
面。当客
户
端
为页
面
创见
一个
HTTP
请
求
时
,服
务
器端响
应这个页面并翻译
HTML
。因
为
JSF
提供了
额
外功能,因此,生命周期提供了一些
额
外的服
务
去
处
理
页
面。
作
为
开
发
人
员,除了
需要知道
生命周期过程中中,比如什么时候对进行数据校验、数据转换和事件发生时刻这些外,还可能需要知道这些能做什么;如何改变这些的处理方式和时间。
一个树形的
UI组件描述 ...