`
djlijian
  • 浏览: 29325 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

在Servlet中实现文件的上传

阅读更多

1,upload.jsp文件的内容如下,就是一个简单的表单:

<form action="/s2sh/FileUploadServlet" method="post"   enctype="multipart/form-data">
Username:<input type="text" name="username"><br>
Password:<input type="text" name="password"><br>
File1:<input type="file" name="file1"><br>
File2:<input type="file" name="file2"><br>
<input type="submit" name="submit">
</form>

2,在web.xml文件中的配置如下:
  <servlet>
    <servlet-name>FileUploadServlet</servlet-name>
    <servlet-class>com.test.servlet.FileUploadServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>FileUploadServlet</servlet-name>
    <url-pattern>/FileUploadServlet</url-pattern>
  </servlet-mapping>

3,在servlet类中的代码如下:
package com.test.servlet;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class FileUploadServlet extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//请参考apache提供的fileupload和io API.
DiskFileItemFactory factory = new DiskFileItemFactory();

String path = request.getRealPath("/upload");

factory.setSizeThreshold(1024 * 1024);

factory.setRepository(new File(path));

ServletFileUpload upload = new ServletFileUpload(factory);

try {

List<FileItem> list = upload.parseRequest(request);

for(FileItem item : list){

if(item.isFormField()){
String name = item.getFieldName();
String value = item.getString("gbk");
request.setAttribute(name, value);
}else{
String name = item.getFieldName();
String value = item.getName();
int index = value.lastIndexOf("\\");
String fileName = value.substring(index + 1);
request.setAttribute(name, fileName);
//用这一句可以代替下面的io操作
item.write(new File(path,fileName));
// OutputStream os = new FileOutputStream(new File(path,fileName));
// InputStream is = item.getInputStream();
// byte[] buffer = new byte[400];
// int length = 0;
// while((length = is.read(buffer)) > 0){
// os.write(buffer, 0, length);
// }
// os.close();
// is.close();
}
}

} catch (Exception e) {
e.printStackTrace();
}
request.getRequestDispatcher("upload/result.jsp").forward(request, response);
}

}
5,结果页面如下result.jsp:
username;${requestScope.username }<br>
password:${requestScope.password }<br>
file1:${requestScope.file1 }<br>
file2:${requestScope.file2 }<br>

仅供个人学习,感兴趣的人可以参考。

 

分享到:
评论

相关推荐

    用servlet实现了文件上传

    在Servlet中实现文件上传的基本步骤如下: 1. **配置Servlet**:在`web.xml`文件中注册Servlet,指定它将处理的请求URL。例如: ```xml &lt;servlet&gt; &lt;servlet-name&gt;UploadServlet&lt;/servlet-name&gt; &lt;servlet-class&gt;...

    CKEditor 上传文件(Servlet实现)

    通过以上步骤,你可以成功地在CKEditor 3.6.0中集成Servlet实现的文件上传功能。这个过程不仅适用于图片,还可以扩展到其他类型的文件,如文档、音频和视频。注意在实际应用中,根据服务器环境和项目需求进行相应的...

    JSP+Servlet实现文件上传到服务器功能

    本文实例为大家分享了JSP+Servlet实现文件上传到服务器功能的具体代码,供大家参考,具体内容如下 项目目录结构大致如下: 正如我在上图红线画的三个东西:Dao、service、servlet 这三层是主要的结构,类似 MVC ...

    servlet jsp javabean 实现的文件上传

    这里我们将深入探讨如何使用这三个技术实现文件上传功能。 Servlet是Java编程语言中的一个接口,由Java Servlet API提供,用于扩展服务器的功能。在文件上传场景中,Servlet通常作为接收HTTP请求并处理数据的后端...

    servlet实现文件上传功能

    在本篇讨论中,我们将深入探讨如何利用Servlet实现文件上传功能,以及在这个过程中涉及的关键知识点。 首先,我们需要了解HTTP协议。HTTP协议是无状态的,这意味着每次请求都是独立的。因此,在客户端(通常是...

    在servlet中用SmartUpload进行上传文件

    总之,SmartUpload为在Servlet中实现文件上传提供了便利,使得开发者能够更专注于业务逻辑,而无需过多关注底层的文件I/O操作和编码问题。通过合理的配置和编程,你可以轻松地构建一个健壮的文件上传系统。

    servlet 文件上传与下载的相关jar包

    在Servlet中实现文件上传,你需要先创建一个Servlet,使用Commons FileUpload解析请求,然后将接收到的FileItem实例保存到服务器指定位置。下载文件则需要读取文件内容并写入到响应流中,这里 Commons IO 的文件读取...

    servlet实现多文件上传

    本篇文章将深入探讨如何使用Servlet实现多文件上传的功能。多文件上传是Web应用中常见的一种需求,例如用户可能需要上传一组图片、文档或其他类型的数据。Servlet提供了一种灵活的方式来处理这种需求。 首先,我们...

    servlet 文件上传下载例子

    在这个"Servlet 文件上传下载例子"中,我们将探讨如何使用Servlet实现文件的上传和下载功能,这对于构建一个简单的图片文件服务器至关重要。 1. **文件上传** - **MultipartRequest**: 在Servlet中,处理文件上传...

    servlet实现文件上传下载

    首先,我们需要了解Servlet在文件上传中的作用。Servlet在接收到客户端(通常是浏览器)的POST请求时,可以解析请求体中的数据。对于文件上传,数据通常是以多部分/形式的数据格式(MIME类型:multipart/form-data)...

    servlet实现的上传文件实例

    在这个"Servlet实现的上传文件实例"中,我们将深入探讨如何使用Servlet来处理客户端上传的文件。上传文件是Web应用程序中常见的功能,例如用户提交简历、上传图片或者共享文档等。以下是关于这个主题的详细知识点: ...

    jsp+servlet实现文件上传下载

    ### jsp+servlet实现文件上传下载 在现代Web开发中,文件上传下载是常见的功能之一。JSP(JavaServer Pages)与Servlet技术结合可以轻松实现这一功能。本篇将详细介绍如何利用jspSmartUpload组件实现文件的上传与...

    Servlet上传代码和架包

    在这个"Servlet上传代码和架包"中,我们可以看到一个关于如何在Servlet中实现文件上传的实例,这对于初学者来说是一个非常实用的学习资源。 文件上传是Web应用程序中的常见功能,允许用户将本地文件传输到服务器。...

    servlet文件上传和下载

    在Servlet中实现文件上传和下载是常见的功能需求,尤其在构建动态网站或Web应用程序时。以下是对这两个主题的详细阐述。 ### 文件上传 文件上传通常涉及到用户通过HTML表单提交包含文件的数据到服务器。在Servlet...

    servlet方式完美实现文件上传

    今天和大家分享下基于servlet的方式实现文件上传; 1、众所周知在不实用框架的时候使用表单模式实现文件上传是无法接收其他的参数的; 2、但是在使用mutipart/form-data模式上传的时候,其实非文件属性的属性的值是...

    Servlet实现文件上传与下载

    ### Servlet实现文件上传与下载 #### 一、概述 在Web开发中,文件的上传与下载是一项非常常见的功能需求。本文将详细介绍如何使用Java Servlet技术实现文件的上传和下载功能。我们将通过一个简单的示例来展示整个...

    jsp&servlet; 实现文件上传

    需要导入的common和servlet-api.jar包在 \upload\WEB-INF\lib 文件夹中 上传文件页面 /upload.jsp: 上传文件页面,选择文件。提交后转到 servlet服务器。 /FileUpload 处理上传文件。显示文件名称,和上传后...

    servlet上传

    Commons FileUpload库提供了对上传文件的解析、临时存储和错误处理等功能,使得开发者能够更方便地在Servlet中实现文件上传逻辑。 #### 引入依赖库 为了使用Apache Commons FileUpload,需要在项目中引入两个JAR包...

    用JSPServlet实现文件上传.rar

    【摘要】:该文介绍了在B/S模式下,通过JSP/Servlet技术实现文件上传的方法。 文件上传在很多网站应用中是必不可少的,在电子商务中上传商品图片,在音乐网站中上传流行歌曲……一个高效率的文件上传功能尤为重要。...

    vue+servlet的文件上传案例.rar

    本示例结合了前端的Vue.js框架和后端的Servlet技术,提供了一种实现文件上传的解决方案。Vue.js是一个轻量级的渐进式JavaScript框架,而Servlet则是Java Web开发中的核心组件,用于处理HTTP请求和响应。接下来,我们...

Global site tag (gtag.js) - Google Analytics