j2ee web核心技术《web组件与框架开发技术》——第9 章 struts2框架的高级应用(第1部分)

j2ee web核心技术《web组件与框架开发技术》——第9 章 struts2框架的高级应用(第1部分)

ID:14624088

大小:265.50 KB

页数:30页

时间:2018-07-29

j2ee web核心技术《web组件与框架开发技术》——第9 章 struts2框架的高级应用(第1部分)_第1页
j2ee web核心技术《web组件与框架开发技术》——第9 章 struts2框架的高级应用(第1部分)_第2页
j2ee web核心技术《web组件与框架开发技术》——第9 章 struts2框架的高级应用(第1部分)_第3页
j2ee web核心技术《web组件与框架开发技术》——第9 章 struts2框架的高级应用(第1部分)_第4页
j2ee web核心技术《web组件与框架开发技术》——第9 章 struts2框架的高级应用(第1部分)_第5页
资源描述:

《j2ee web核心技术《web组件与框架开发技术》——第9 章 struts2框架的高级应用(第1部分)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、J2EEWeb核心技术《Web组件与框架开发技术》——第9章Struts2框架的高级应用(第1部分)杨教授工作室精心创作的优秀程序员职业提升必读系列资料Struts2框架不仅提供有对国际化和表单验证等技术的支持,同样也还提供有文件上传、下载,以及防止表单重复提交等实用的技术支持。本章除了重点介绍如何在Struts2框架中实现文件上传(也包括多文件上传和限制上传文件的类型和长度),文件下载并对下载过程进行访问控制以外,也还介绍如何防止表单数据被重复提交,以避免后台程序大量地接收垃圾数据和减少对系统资源的消耗,并给出具体实现的代码示例

2、。因为表单重复提交(或者称为重复刷新),这是Web应用系统程序中的一个很常见的问题。特别是由于网络状况等原因,用户不知道本次提交是否成功,也会再次提交同一份表单请求。在基于Struts2框架的Web应用系统开发中,不可避免地也会出现表单重复提交的问题此外,在本章内的最后一小节中,还将系统地介绍如何整合Struts2.X版和Spring3.X版系统,最终达到能够在Struts2框架中应用Spring框架中的控制反转IoC和面向切面编程AoP等技术。1.1Struts2框架中的文件上传技术及应用1.1.1Web方式的文件上传技术及应用

3、1、与Web方式文件上传技术有关的一些概念1)RFC1867(Form-basedFileUploadinHTML)标准由于在最初的Http协议中并没有提供与上传文件有关的功能,为了能够让浏览器以二进制数据格式向Web服务器程序传送数据,RFC1867标准对标准的HTML表单了如下方面的功能扩展:1)为标签元素的type属性增加了一个file选项专用于文件上传。2)为标签元素新增accept属性,该属性能够指定可被上传的文件类型或文件格式列表。另外,RFC1867标准还定义了一种新的MIME类型:mul

4、tipart/form-data,各个厂商的浏览器都按照此规范将用户指定的上传文件发送到Web服务器。Web服务器端的各种形式的动态程序如PHP、ASP(或者ASP.Net)和JSP等,可以按照此技术规范,解析出用户发杨教授工作室,版权所有,盗版必究,1/21页杨教授工作室精心创作的优秀程序员职业提升必读系列资料送的上传文件的数据。2)多用途互联网邮件扩展协议(MIME)多用途互联网邮件扩展协议(MultipurposeInternetMailExtensions,MIME)是目前广泛应用的一种电子邮件技术规范,它说明了如何安排消

5、息格式,并使得消息能够在不同的邮件系统内都能够进行相互交换。规定MIME类型的主要原因在于Web服务器端程序把输出结果传送到客户端浏览器时,浏览器必须要启动适当的应用程序来处理输出的数据(由于服务器端输出的数据格式是多样化的,浏览器本身不可能也没有必要都去解析这些格式数据)。而MIME格式允许在邮件中包含任意类型的文件:可以包含文本、图象、声音、视频及其它应用程序的特定数据。设计MIME的最初目的是为了能够在发送电子邮件时附加多媒体数据,让邮件客户端程序能根据数据的类型自动进行处理。目前在HTTP协议中也广泛地提供对MIME类型的

6、支持,它使得基于HTTP协议传输的数据不仅仅是普通的HTML文本,也可以传输多媒体数据。2、文件上传表单

标签中的enctype属性HTML标签中的enctype属性主要是用于指定表单中请求数据的编码格式,该属性有如下3个不同的取值:1)application/x-www-form-urlencoded:这是默认编码方式,它将表单中的各个请求数据被编码为“名称/值”对。2)multipart/form-data:表单中的各个请求数据被转换为二进制格式的数据,但也会把表单中由文件域(type="file")指定

7、的上传文件的数据内容也封装到请求参数中,然后一起向Web服务器发送。3)text/plain:表单中的各个请求数据被转换为纯文本格式,其中不含有任何成员域属性名或格式字符。如果enctype属性的取值为application/x-www-form-urlencoded,该表单也就不能用于实现文件上传功能;只有enctype属性的取值为multipart/form-data,浏览器才会打包上传的文件数据,并完整地传递待上传的文件数据。3、普通的Web文件上传的实现原理文件上传是Web应用系统中经常需要提供的一个功能要求,其实现的基本

8、原理是通过为表单标签元素添加enctype="multipart/form-data"属性让浏览器将表单提交的各个杨教授工作室,版权所有,盗版必究,2/21页杨教授工作室精心创作的优秀程序员职业提升必读系列资料数据都转换为“二进制编码”

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。