重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
成都创新互联服务项目包括德保网站建设、德保网站制作、德保网页制作以及德保网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,德保网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到德保省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!Servlet 实现文件上传
所谓文件上传就是将本地的文件发送到服务器中保存。例如我们向百度网盘中上传本地的资源或者我们将写好的博客上传到服务器等等就是典型的文件上传。
Servlet 3.0
上次完成文件下载功能使用的是 Servlet 2.5,但是想要完成文件上传,那么继续使用 Servlet 2.5
肯定不是一个好的选择,因此我们使用 Servlet 3.0
来完成文件上传。下面我来简单介绍一下 Servlet 3.0 的新特性:
1、新增的注解支持
该版本新增了若干注解,用于简化 Servlet、过滤器(Filter)和监听器(Listener)的声明,这使得 web.xml 部署描述文件从该版本开始不再是必选的了。
2、HttpServletRequest 对文件上传的支持
此前,对于处理上传文件的操作一直是让开发者头疼的问题,因为 Servlet 本身没有对此提供直接的支持,需要使用第三方框架来实现,而且使用起来也不够简单。如今这都成为了历史,Servlet 3.0 已经提供了这个功能,而且使用也非常简单。
Servlet 3.0 的新特性当然肯定不止这些,但是其他的新特性在这里我们暂时还用不到,也就不做过多了解了。
必要条件
想要完成文件上传,肯定不是这么简单,它对浏览器端和服务器端都有许多的要求。
对浏览器的要求:
get
方式了,所以上传文件时必须采用 post
方式。
,而且必须有 name 属性。enctype
属性值为 multipart/form-data
。对服务器的要求:
request.getParameter(String)
接收,而文件上传组件通过 request.getPart(String)
接收。Tomcat7
及其以上。准备工作
工欲善其事,必先利其器。
1、首先,打开 Eclipse
,新建一个 Dynamic Web Project
。
2、键入项目名,选择运行时环境为 Apache Tomcat v7.0
,选择 Servlet 版本为 3.0
,然后点击 Finished
。
3、在项目的 WebContent
目录下,新建一个文件夹 upload
,用来存放上传过来的文件。
4、在 WebContent
目录下新建一个 index.jsp
。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>上传