没有合适的资源?快使用搜索试试~ 我知道了~
首页用JSF和MyFaces上传文件
用JSF和MyFaces上传文件
需积分: 9 15 下载量 108 浏览量
更新于2023-03-03
评论
收藏 84KB DOC 举报
用户可以很方便使用浏览器上传文件,但是当前的Java Web标准(如servlets, JSP, and JSF)并没有提供任何上传的功能。幸好第三方框架,比如 Apache Commons File Upload, Apache MyFaces, and Oracle ADF Faces,提供了简单的API和客户标签,实现了这个功能。
资源详情
资源评论
资源推荐
用 JSF 和 MyFaces 上传文件
原文:
作者:
翻译:!"!#
用户可以很方便使用浏览器上传文件,但是当前的 $% 标准(如
&$'(&$'))并没有提供任何上传的功能。幸好第三方框架,比如
)*&+,)&-.)
),提供了简单的 (/ 和客户标签,实现了这个功能。文章的前半部分将
介绍上传组件是如何工作的,你将看到 +,) )
*的部分源码(实际上,前者采用的是后者的代码)。了解这些源码的
内在机制将使我们更有效的使用这些框架,并且可以根据需要修改他们!在文
章的后半部分,介绍了一个让用户通过浏览器上传文件的例子。
基于 WEB 的文件上传
0上传”这个词的使用比较广泛。一个 管理员在他的主页发布了一个文件,
他可以说他上传了一个文件;当一个网络工程师创建了一个 12+3 和一
些脚本使普通用户可以通过浏览器上传文件,他说他实现了上传的功能。
这两种方式之中有些共同的地方,因为一个 管理员可以通过一个基于
的接口来发布文件(页面,图像,脚本等等)。那些免费提供个人主页的
公司,比如 ,,实现了基于 的文件上传功能,因为客户需要上传页
面。这样任何人只要接入网络,就可以通过浏览器发布他的个人站点。但是,
还有许多更好的方式让你发布你的网页内容,比如 )2( 或 )2(。在这
种情况下,你就需要一个对应的应用程序,比如 )2( 客户端,而不是浏览器来
发布你的网站。
这篇文章将从网络开发者的角度来讨论文件上传。一个基于 的 应用
程序,比如 ,&实现了上传功能,这样用户才能发送信息和附件。另
一个好的例子是一个 网站必须让你能够发送简历给招聘人员。在你的应用
程序中,你可以对上传的文件作任何你想做的事情,比如把这些文件的内容储
存到数据库中或者把他们当作附件发送出去。这篇文章的例子计算了上传文件
的 值。现在,让我们看看如何在一个 应用程序中实现上传功能。
一个 表单包含一个或多个4,56768元素,这个元素将在页
面上生成文件输入框,用户可以在这里填写文件路径。用户点击输入字段后面
的浏览9:按钮后,会弹出一个对话框让用户选择路径:
当用户点击表单的 ' 按钮,浏览器对表单数据进行编码,其中包括文件
的内容,名字,路径以及其他的表单参数。然后,浏览器把编码过的数据传递
给 服务器,服务器再把这些数据传递给相应的页面,比如48标签里
的 属性值。如果是 网络应用程序, 属性值可能是个
或者是个 页面。
因为默认的表单编码和 " 方法不适合上传文件,所以一个包含文件输入框的
表单必须定义编码为 ;,并且在48标签里使用
(-'2 方法:
4,56;656(-'26
5668
<<<
<<<4,56765668
<<<
48
但是,事情并不象看起来那么简单,实现了 $'(标准的应用服务
器并没有被要求处理 ; 编码。所以你需要一个解析器来处
理请求的输入流&比如 )* 组件,它是个 包,
能从已编码的数据中读取出上传文件的内容。这个包的 (/ 很灵活,允许你把
小文件存在内存里而大文件储存在磁盘上一个临时文件夹里。你不但可以定义
大文件和小文件的界限,还可以定义上传文件所占空间的最大值。
"7 里有个 .=)* 类,它的
>?9:函数获得一个 1'>?,返回一个 3,其中
包含了 "7)/ 的实例。 请求的
"/'9:函数返回一个数据流,已编译的表单数据就是从这里读取
出来的。)/ 很容易让人误解,因为这个接口的实例不仅包括上传文件&还
有其他的请求参数。
)*包提供的 (/ 可以解析数据,但是 请求的
"(9:函数和 "(@9:函数却不能工作。因为这两
个函数被运行在常用的输入框&复选框&单选按钮&和下拉列表后面的标准 $')
组件调用,所以这个问题需要解决。'(/ 提供的两个功能97 和
?:可以解决这个问题。下面的章节描述了在没有破坏原有
$') 结构的情况下,+,)如何实现了一个 7 功能,从而添加
了更多需要的支持。另外,+,) 提供的 (/ 可以创建 A,和生成
4,56768元素的 $') 组件相对应。
配置 JSF 和 MyFaces Extensions
目前最主要的实现 $') 规范的框架有 $')>/9>/:以
及 提供的 +,)。虽然还有别的,但这两个是最流行的。很多开
发者更倾向于 $')>/,因为这是来自于 的官方产品。但 +,) 有一些
有趣的扩展的功能,比如上传文件。如果你喜欢,你可以同时使用 +,)
的扩展功能和 $')>/。你只需要把 ,;B 和 $')>/ 的
文件以及 ;7;放在 应用程序的 %CA;/D)
目录下即可。下面是你需要的 文件:
$')>/
jsf-api.jar
jsf-impl.jar
$'23>/
jstl.jar
standard.jar
+,)
CB
myfaces-extensions.jar
9,$')
+,)
CB:
commons-collections.jar
commons-digester.jar
commons-beanutils.jar
commons-logging.jar
commons-leupload-
1.0.jar
", 包的
+>?% 类创建了 +,) 和 )*
连接的桥梁。这个类继承了 1'>?%,重写了
剩余12页未读,继续阅读
venl318
- 粉丝: 2
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- ExcelVBA中的Range和Cells用法说明.pdf
- 基于单片机的电梯控制模型设计.doc
- 主成分分析和因子分析.pptx
- 共享笔记服务系统论文.doc
- 基于数据治理体系的数据中台实践分享.pptx
- 变压器的铭牌和额定值.pptx
- 计算机网络课程设计报告--用winsock设计Ping应用程序.doc
- 高电压技术课件:第03章 液体和固体介质的电气特性.pdf
- Oracle商务智能精华介绍.pptx
- 基于单片机的输液滴速控制系统设计文档.doc
- dw考试题 5套.pdf
- 学生档案管理系统详细设计说明书.doc
- 操作系统PPT课件.pptx
- 智慧路边停车管理系统方案.pptx
- 【企业内控系列】企业内部控制之人力资源管理控制(17页).doc
- 温度传感器分类与特点.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0