返回顶部
首页 > 资讯 > 精选 >在Servlet中如何上传文件
  • 316
分享到

在Servlet中如何上传文件

2023-06-15 02:06:26 316人浏览 独家记忆
摘要

这篇文章主要介绍在Servlet中如何上传文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先对Servlet上传文件的简单理解此前,Servlet本身没有对文件上传提供直接的支持,一般需要使用第三方框架来实现,这

这篇文章主要介绍在Servlet中如何上传文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

首先对Servlet上传文件的简单理解

此前,Servlet本身没有对文件上传提供直接的支持,一般需要使用第三方框架来实现,这样就比较麻烦
不过,Servlet3.0之后提供了这个功能,而且使用非常简单,,为此,httpservletRequest提供了两个方法用于从请求中解析出上传的文件:

Part getPart(String name)  //获取请求中给定 name 的文件Collection<Part> getParts() //获取所有的文件

其中每一个文件用一个javax.servlet.Http.Part对象来表示,该接口提供了处理文件的简易方法,如write(),delete(),那么,结合 HttpServletRequest 和 Part 来保存上传的文件变得非常简单

Part img = request.getPart("img");img.write("根路径+\\img.jpg")

注意:可以配合 @MultipartConfig 注解来对上传操作进行一些自定义的配置,比如限制上传文件的大小,以及保存文件的路径等,但是,如果请求的 MIME 类型不是 multipart/fORM-data,则不能使用上面的两个方法,否则将抛异常。

首先我们掌握开发Servlet的步骤:

前端:如果有前端内容的话,需要再写一个html文件
后端

  • 首先编写后台的Servlet代码(也即重写doGet和doPost方法)

  • 配置项目文件,WEB.xml里面的映射文件

首先写一个页面(前端) html 文件

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>上传文件</title></head><body><form action="upload" method="post" enctype="multipart/form-data">    <input type="file" name="img"><p>    <input type="submit" value=" 提 交 "></form></body></html>

代码分析

在Servlet中如何上传文件

2.写Servlet后端类代码

import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.Part;import java.io.IOException;import java.io.PrintWriter;//首先必须声明这个类是用来处理(文件)流的【不可获取】@MultipartConfigpublic class FileServlet extends HttpServlet {    @Override    //因为提交表单只需要post,那么这里就不需要get方法了    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        //首先拿到流信息,他返回的是一个part对象        Part part = req.getPart("img");        //手下声明一个保存路径,这里保存在D盘的File文件下        String filePath = "D:\\File\\";        //保存文件的名称这里就和原文件的名称一样,通过part里面的方法得到原文件名称        String fileName = part.getSubmittedFileName();        //通过write方法,可以将这个png文件保存在任意路径下,write里面的参数,就是要保存的路径        part.write(filePath+fileName);        //然后给前端返回响应的结果        resp.setContentType("text/html");        resp.setCharacterEncoding("utf-8");        PrintWriter writer = resp.getWriter();        writer.println("<h2>上传成功</h2>");    }}

配置web.xml映射

<servlet>    <servlet-name>fileServlet</servlet-name>    <servlet-class>FileServlet</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>fileServlet</servlet-name>    <url-pattern>/upload</url-pattern>  </servlet-mapping>

效果展示

在Servlet中如何上传文件

存在问题

那么哪里存在问题呢?

//首先拿到流信息,他返回的是一个part对象        Part part = req.getPart("img");        //手下声明一个保存路径,这里保存在D盘的File文件下        String filePath = "D:\\File\\";        //保存文件的名称这里就和原文件的名称一样,通过part里面的方法得到原文件名称        String fileName = part.getSubmittedFileName();        //通过write方法,可以将这个png文件保存在任意路径下,write里面的参数,就是要保存的路径        part.write(filePath+fileName);

注意:其实这里是存在一点问题的

在Servlet中如何上传文件

那么如何进行改进呢?

方法:使用UUID作为文件名

在Servlet中如何上传文件

代码改进:也就是把代码中的fileName改成如下

//首先需要一个文件名,改进文件名的名称(防止重复名称覆盖之前的文件)        String fileName = UUID.randomUUID().toString()+                part.getSubmittedFileName().substring(part.getSubmittedFileName().indexOf("."));

结果验证

在Servlet中如何上传文件

以上是“在Servlet中如何上传文件”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 在Servlet中如何上传文件

本文链接: https://lsjlt.com/news/276866.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在Servlet中如何上传文件
    这篇文章主要介绍在Servlet中如何上传文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先对Servlet上传文件的简单理解此前,Servlet本身没有对文件上传提供直接的支持,一般需要使用第三方框架来实现,这...
    99+
    2023-06-15
  • 如何使用Servlet上传文件
    如何使用Servlet上传文件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、Servlet实现文件上传,需要添加第三方提供的jar包下载地址:1) commons-fi...
    99+
    2023-05-31
    servlet 文件上传
  • 聊聊在Servlet中怎么上传文件
    首先对Servlet上传文件的简单理解 此前,Servlet本身没有对文件上传提供直接的支持,一般需要使用第三方框架来实现,这样就比较麻烦 不过,Servlet3.0之后提供了这个...
    99+
    2024-04-02
  • Servlet如何实现文件的上传与下载功能
    这篇文章给大家分享的是有关Servlet如何实现文件的上传与下载功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实现条件:需要一个form标签,method为post请求2、form的encType属性值为mu...
    99+
    2023-06-14
  • Servlet实现文件的上传与下载
    前言: 文件的上传和下载在日常开发中很是常见,那么这一功能是如何实现的呢,下面我给大家介绍一下 实现条件: 1、需要一个form标签,method为post请求 2、form的enc...
    99+
    2024-04-02
  • Servlet文件的上传与下载详解
    目录文件的上传和下载1. 文件上传细节2. 文件上传3. 文件下载文件的上传和下载 1. 文件上传细节 要有一个 form 标签,method-post请求 (因为get有长度限制)...
    99+
    2024-04-02
  • Servlet实现简单文件上传功能
    本文实例为大家分享了Servlet文件上传的具体代码,供大家参考,具体内容如下两点要素: 表单提交方式必须是post 2.enctype一定要是multipart/form-data。 enctype的默认值是application/x-w...
    99+
    2023-05-30
    servlet 文件上传 实现简单
  • java中如何上传文件
    在java里面文件上传的方式很多,最简单的依然是FileInputStream、FileOutputStream了,在这里我列举3种常见的文件上传方法代码首先呢,使用springMVC原生上传文件方法,需要一些简单的配置,不多说,上图。 ...
    99+
    2019-03-19
    java基础 java
  • 如何在gitlab上传新文件夹
    在GitLab中上传新文件夹是一个非常简单的过程,但对于初学者来说可能还是一件有些困难的事情。在这篇文章中,我们将讨论在GitLab上如何上传新文件夹,并将提供简单的步骤来指导您完成整个过程。第一步:创建一个新项目要上传新文件夹,首先您需要...
    99+
    2023-10-22
  • servlet实现文件上传与下载功能
    本文实例为大家分享了servlet实现文件上传与下载的具体代码,供大家参考,具体内容如下 内容 我们分两大模块来进行讲解,即上传的实现,与下载的实现 上传的实现 注意了我们在写上传表...
    99+
    2024-04-02
  • 如何在java中使用Servlet下载文件
    如何在java中使用Servlet下载文件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。说明Servlet是Sun公司开发的用于交互式地浏览和生成数据,生成动态...
    99+
    2023-06-06
  • 如何在PHP中实现文件上传功能
    在现代的Web应用开发中,文件上传功能已经成为常见的需求,无论是上传图片、视频、文档等,都需要通过服务器端的代码来实现。本文将介绍如何使用PHP来实现文件上传功能,并提供具体的代码示例。一、文件上传的基本原理在PHP中,文件上传的基本原理是...
    99+
    2023-10-21
    PHP:编程语言名称
  • 如何在 Golang 中实现拖放文件上传?
    如何在 golang 中实现拖放文件上传?启用中间件;处理文件上传请求;创建拖放区域的 html 代码;添加处理拖拽事件的 javascript 代码。 如何在 Golang 中实现拖...
    99+
    2024-05-13
    文件上传 golang git
  • Golang 文件上传中如何处理并发上传?
    并发文件上传涉及对上传请求实施并发限制、使用队列管理上传顺序、处理异常情况等步骤。在 golang 中,可通过以下方式实现:设置并发上限,避免资源耗尽。使用队列管理待处理请求,确保公平性...
    99+
    2024-05-14
    golang 并发上传
  • Servlet文件的上传与下载怎么实现
    本文小编为大家详细介绍“Servlet文件的上传与下载怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“Servlet文件的上传与下载怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。文件的上传和下载1...
    99+
    2023-07-02
  • 基于java文件上传-原始的Servlet方式
    前言:干了这几个项目,也做过几次文件上传下载,要么是copy项目以前的代码,要么是百度的,虽然做出来了,但学习一下原理弄透彻还是很有必要的。刚出去转了一圈看周围有没有租房的,在北京出去找房子是心里感觉最不爽的时候,没有归属感,房租还不便宜,...
    99+
    2023-05-31
    java 文件上传 servlet
  • Android项目中如何在webview页面中上传文件
    本篇文章为大家展示了Android项目中如何在webview页面中上传文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android webview在默认情况下是不支持网页中的文件上传功能的;如果...
    99+
    2023-05-31
    webview android roi
  • java如何上传文件
    一:准备好前台页面Upload.html表单 action=上传文件后台接口 method=“post”enctype=“multipart/form-data”,文件输入框 二:加入相应的jar包三:准备接收文件Se...
    99+
    2019-03-25
    java基础 java 上传 文件
  • 如何上传php文件
    这篇文章给大家分享的是有关如何上传php文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php文件上传的步骤:首先创建一个文件上传表单;然后创建上传脚本“upload_file.php”文件;接着设置对文件上传...
    99+
    2023-06-14
  • php如何上传文件
    这篇文章主要介绍php如何上传文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主流的数据库。4、面向对象编程:PHP提供了类...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作