用JSP+servlet实现文件的上传与下载

       现在看来使用JSP+Servlet实现文件的上传与下载已经是有些落后了,现在能很方便实现文件的上传与下载插件和工具有很多,常用的有SmartUpload插件、Struts2框架以及富文本编辑器等等。但是作为一个合格的程序员,我认为还是有必要了解一下使用JSP+Servlet最原始的读取文件流来实现文件的上传与下载。下面我简单讲下!

        要使用JSP通过表单实现文件的上传与下载,首先就必须要了解enctye这个属性,enctype 属性是规定在发送到服务器之前应该如何对表单数据进行编码。enctype常用的属性值有3个:第一个是application/x-www-form-urlencoded,这是默认的编码方式,它只处理表单域里的value属性值,采用这种编码方式的表单会将表单域的值处理成URL编码方式,第二种是multipart/form-data,这种编码方式的表单会以二进制流的方式来处理表单数据,同时,这种编码方式也会把文件域指定文件的内容封装到请求参数里,第三种就是text/plain,这种方式主要适合用于直接通过表单发送邮件的方式。

        我们要使用JSP实现文件的上传和下载,这里的enctype属性的属性值一定要选multipart/form-data,让表单提交的数据以二进制编码的方式提交,在接收此请求的Servlet中用二进制流来获取内容,就可以取得上传文件的内容,从而实现文件的上传。

下面写个小例子:

先贴出前台页面代码:

<!DOCTYPE html >
<html>
<head>
<meta charset="UTF-8">
<title>使用JSP+Servlet实现文件的上传下载</title>
</head>
<script type="text/javascript" src="js/jquery-1.11.1.js"></script>
<body>
    <h2>使用JSP+Servlet实现文件的上传下载</h2>
	<form action="uploadServlet" method="post" enctype="multipart/form-data" >
  	        请选择文件:<input id="file" name="file" type="file" />
  		<input type="submit" value="上传"  />${result}
        </form>
  	下载:<a href="downloadServlet?filename=FileTest.txt">fileTest.txt</a> ${errorResult} 
</body>
</html>
             这里一定要注意,表单的method一定要使用post方式,其它的就很简单了,至于${result}这种语句是EL表达式。实现上传文件的UploadServlet的代码:
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值