文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Servlet3.0实现文件上传的方法

2023-05-31 17:33

关注

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 的新特性当然肯定不止这些,但是其他的新特性在这里我们暂时还用不到,也就不做过多了解了。

必要条件

想要完成文件上传,肯定不是这么简单,它对浏览器端和服务器端都有许多的要求。

对浏览器的要求

  1. 一个文件的大小一般肯定不止 1 KB,既然这样,那么要上传一个文件肯定不能使用 get 方式了,所以上传文件时必须采用 post 方式。
  2. 2.表单中必须有一个文件上传项 <input type="file"> ,而且必须有 name 属性。
  3. 必须设置表单的 enctype 属性值为 multipart/form-data

对服务器的要求:

  1. 当然,我们肯定得使用 Servlet 3.0。
  2. Servlet 3.0 中接收普通上传组件(除了文件上传组件)通过 request.getParameter(String)接收,而文件上传组件通过 request.getPart(String)接收。
  3. Servlet 3.0 要求服务器必须是 Tomcat7 及其以上。

准备工作

工欲善其事,必先利其器。

首先,打开 Eclipse,新建一个 Dynamic Web Project

Servlet3.0实现文件上传的方法

键入项目名,选择运行时环境为 Apache Tomcat v7.0,选择 Servlet 版本为 3.0,然后点击 Finished

Servlet3.0实现文件上传的方法

在项目的 WebContent 目录下,新建一个文件夹 upload,用来存放上传过来的文件。

Servlet3.0实现文件上传的方法

WebContent 目录下新建一个 index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html> <head>   <meta charset="UTF-8">   <title>上传</title> </head> <body>   <form action="${pageContext.request.contextPath}/UploadServlet" method="post" enctype="multipart/form-data">     <label>选择一个文件:</label>     <input type="file" name="file"><br>     <input type="submit" value="上传"><br>   </form> </body></html>

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯