`
2277259257
  • 浏览: 518290 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Servlet实现文件上传-----2

 
阅读更多

package shopping.shoppingServlet;

import java.io.File;
import java.io.IOException;
import java.util.List;

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

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

import shopping.shoppingDao.ComputerDao;
import shopping.shoppingDao.shoppingDaoImp.ComputerDaoImp;
import shopping.shoppingVo.Computer;

 

public class FileUploadServlet extends HttpServlet {
 @SuppressWarnings("unchecked")
 public void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
  // step1 创建一个工厂类的实例,该实例为解析器提供了缺省的配置
  DiskFileItemFactory factory = new DiskFileItemFactory();
  // step2 创建一个解析器
  ServletFileUpload sfu = new ServletFileUpload(factory);
  // step3 使用解析器解析
  try {
   // 解析乊后,会将表单中的数据转换成一个个FileItem 对象。一个表单域中的数据对应于一个FileItem 对象。
   List<FileItem> items = sfu.parseRequest(request);
   // step4 遍历 items 集合
   for (int i = 0; i < items.size(); i++) {
    FileItem item = items.get(i);
    // 读表单域中的数据时,要区分表单域的类型
    if (item.isFormField()) {
     // 普通表单域
     String username = item.getString();
     System.out.println(username);
    } else {
     // 文件上传表单域
     ServletContext sctx = getServletContext();
     String path = sctx.getRealPath("img");
     // 获得文件名(客户端文件的保存路径)
     String fileName = item.getName();

     //文件的名称
     String filename = fileName.substring(fileName.lastIndexOf("\\")+1); //自己添的(只要文件名,不是路径)
     //用上传文件的路径,创建流
     File file = new File(path + "\\" + filename);
     //上传
     item.write(file);

 

 


     /**
      * 将文件名保存在数据库中,用于显示或下载文件时,查询出文件名+服务器中存放文件的目录==文件路径
      */
     Computer c=new Computer();
     c.setPic(pathJ);
     ComputerDao dao=new ComputerDaoImp();
     dao.insert(c);
     
     /**
      * 文件名保存后,再查询后返回到file.jsp实时显示
      */
     
     response.sendRedirect("/jsp/web/file.jsp");
    }
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}

分享到:
评论

相关推荐

    CKEditor 上传文件(Servlet实现)

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

    servlet实现文件上传功能

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

    servlet方式完美实现文件上传

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

    servlet实现文件上传下载

    本教程将详细讲解如何使用Servlet实现文件的上传和下载功能,其中涉及到的主要技术点包括Servlet API、Multipart解析以及文件流操作。 首先,我们需要了解Servlet在文件上传中的作用。Servlet在接收到客户端(通常...

    servlet 文件上传下载例子

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

    Servlet实现文件上传与下载

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

    java+servlet+commons-io-2.4.jar+commons-fileupload-1.3.jar实现文件的上传与下载

    在Java Web开发中,文件的上传与下载是常见的功能需求,尤其...通过以上步骤,你可以实现基于Java Servlet和Apache Commons库的文件上传与下载功能。理解并熟练掌握这些知识点,对于开发高效、稳定的Web应用至关重要。

    jsp+servlet实现文件上传和下载

    在这个主题中,“jsp+servlet实现文件上传和下载”是核心知识点,我们将深入探讨如何利用这两个组件以及Apache的`commons-fileupload`和`commons-io`库来完成这一任务。 1. **文件上传** 文件上传通常涉及用户通过...

    servlet jsp javabean 实现的文件上传

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

    servlet实现的上传文件实例

    综上所述,Servlet实现的文件上传涉及了HTTP协议、Servlet API、文件存储策略、安全控制等多个方面。理解并熟练掌握这些知识点,对于开发高效且安全的文件上传功能至关重要。在实际项目中,我们还需要考虑并发处理、...

    jsp+servlet实现文件上传下载

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

    servlet-api-3.0.jar包

    7. **MIME多部分解析**:Servlet 3.0引入了`Part`接口,用于处理MIME多部分请求,这在处理上传文件时非常有用。 8. **安全增强**:添加了新的安全相关API,如`HttpServletRequest.isUserInRole()`和`...

    基于Servlet实现文件的上传与下载

    "基于Servlet实现文件的上传与下载"是一个常见的实战任务,它涵盖了网络编程、多线程和文件I/O等多个核心概念。这里我们将深入探讨如何利用Servlet来实现这两个功能。 首先,让我们了解Servlet的工作原理。Servlet...

    用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;...

    如何使用servlet和commons-fileupload-1.2.1.jar和commons-io-2.4.jar两个jar包实现文件上传的功能

    本文件为一个MyEclipse工具开发的java web 工程压缩文件。本工程用于演示如何使用servlet和commons-fileupload-1.2.1.jar和commons-io-2.4.jar两个jar包实现文件上传的功能。

    servlet-api-3.0-alpha-1.jar

    开发者可以使用@MultipartConfig注解来处理多部分请求,例如文件上传,无需额外的库。 总之,Servlet API 3.0-alpha-1.jar为Web开发带来了许多增强功能和改进,包括更好的依赖管理、异步处理、更简洁的配置方式...

    servlet实现多文件上传

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

    JAVA_servlet的文件上传案例

    在本案例"JAVA_servlet的文件上传"中,我们将深入探讨如何使用Servlet实现文件上传功能,这对于构建交互性强的Web应用程序是至关重要的。文件上传功能允许用户在Web表单中选择本地文件并将其发送到服务器进行存储或...

    用servlet写的文件上传及下载功能带进度条

    com.fm.FileManagerService:一个servlet用来实现主要的文件上传下载逻辑的 com.fm.MyPreogressListener:一个进度监听类,用来做上传进度条的 jquery-1.9.1.js index.jsp:文件列表页面 upload.jsp:文件上传form...

    用JSPServlet实现文件上传

    ### 使用JSP与Servlet实现文件上传的深度解析 在当今的网络应用开发中,文件上传功能已成为不可或缺的一部分,尤其在电子商务、社交平台、多媒体分享等领域。本文将深入探讨如何运用JSP(JavaServer Pages)与...

Global site tag (gtag.js) - Google Analytics