JSP实现多个⽂件上传的两种⽅法
JSP 实现多个⽂件上传的两种⽅法
JSP实现⽂件上传的实现⽅式是这样的:使⽤ServletRequest类的getInputStream()⽅法获得⼀个客户端向服务器发出的数据流,然后处理这个数据流,从中分析得到⽂件上传中传递到服务器的各个参数和数据,然后将其中的⽂件数据存储为⼀个⽂件或插⼊到数据库中。
通常JSP页⾯中不处理⽂件的上传功能,⽽是把这些功能放到Servlet 或JavaBean中去实现。使⽤Servlet完成⽂件上传的例⼦在其他JSP书籍中有所介绍,这⾥只介绍使⽤JeanBean是如何完成⽂件上传的。
JSP中实现⽂件的上传可以采⽤两种⽅式即采⽤HTTP协议和FTP协议实现,⼆者在传输的原理上存在很⼤的差异。以下将结合源代码对它们的实现做简单介绍,相信读者会从中有所收获。
在JSP中使⽤JavaBean实现基于Web的⽂件上传功能⼀般需要三种⽂件结合完成。这三种⽂件分别是提供界⾯的HTML页⾯⽂件、完成调⽤实现上传功能的JavaBean的JSP⽂件和实现JavaBean的Java的类⽂件。
1.采⽤HTTP协议实现多个⽂件的上传
在过去的HTML页⾯中,表单不能实现⽂件的上传,这多少限制了⼀些⽹页的功能。RFC1867规范(即HTML中实现基于表单的⽂件上传)对表单作出了扩展,增加了⼀个表单元素(input type=file)。通过使⽤这个元素,浏览器会⾃动⽣成⼀个输⼊框和⼀个按钮,输⼊框可供⽤户填写本地的⽂件名和路径名,按钮可以让浏览器打开⼀个⽂件选择框供⽤户选择⽂件。具体的表单实现如下:
选择了⽂件后直接输⼊本地⽂件的绝对路径,表单的action属性值是*.jsp,这意味着请求(包括上载的⽂件)将发送给*.jsp⽂件。在这个过程中实际上就实现了HTTP⽅式的⽂件上载。⽂件从客户端到服务器的上传是由HTTP协议的通⽤⽹关界⾯(CGI)⽀持的。这种上载⽅式要求浏览器和WEB服务器两⽅⾯都能够⽀持Rfc1867。JavaBean 通过ServletRequest类的getInputStream()⽅法获得⼀个客户端向服务器发出的数据流、分析上传的⽂件格式,根据分析结果将多个⽂件依次输出服务器端的⽬标⽂件中。inputtypefile不上传文件
2.采⽤FTP协议实现多个⽂件的上传
FTP协议是Internet上⽤来传送⽂件的协议,规定了Internet上⽂件互相传送的标准。在Java中实现这⼀功能是借助FtpClient类完成的。具体实现过程:⾸先与FTP服务器建⽴连接。然后初始化⽂件的传输⽅式,包括ASCII和BINARY两种⽅
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论