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

文件上传(Servlet)

阅读更多
/**
 * 
 */
package cn.demo.fupload;

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

import javax.servlet.ServletConfig;
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.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

/**
 * @author Administrator
 * @version 2009-3-8 文件的上传下载commons-fileupload
 */
public class FileUploadServlet extends HttpServlet {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1068590804829697704L;
	private ServletContext sc;//获取设备上下文对象
	private String savePath;//保存的路径
	/**
	 * @param args
	 * @throws UnsupportedEncodingException 
	 */
	public void doGet(HttpServletRequest request,HttpServletResponse response)
	throws UnsupportedEncodingException,ServletException,IOException{
		doPost(request,response);
		//将get请求和post请求统一发送给doPost处理
	}
	public void doPost(HttpServletRequest request,HttpServletResponse response)
	throws UnsupportedEncodingException,ServletException,IOException{
		//设置编码格式
		request.setCharacterEncoding("GBK");
		//使用FileItemFactory创建新的文件项目 
		DiskFileItemFactory factory = new DiskFileItemFactory();
		//FileUpload用来解析request文件上传请求
		ServletFileUpload upload = new ServletFileUpload(factory);
		try {
			//获取请求的信息存入列表list中
			List tempList = upload.parseRequest(request);

			Iterator it = tempList.iterator();
			while(it.hasNext()){
				FileItem item = (FileItem)it.next();
				//判断items中的文本信息
				if(item.isFormField()){
					System.out.println("表单参数的名称"+item.getFieldName()
					+"表单的参数值"+item.getString("GBK"));				
				}else{
					if(item.getName()!=null&&!item.getName().equals("")){
						System.out.println("所上传的文件名称:"+item.getName());
						System.out.println("所上传的文件大小:"+item.getSize());
						System.out.println("所上传的文件类别:"+item.getContentType());	
						//用于获取file中的文件名(不包含路径)
						File tempFile = new File(item.getName());
						//建立文件内容
						File file = new File(sc.getRealPath("/")+savePath,tempFile.getName());
						//将文件上传至服务器
						item.write(file);
						request.setAttribute("upload.message", "上传文件成功!"+item.getName()+item.getSize()+item.getContentType());
					}else{
						request.setAttribute("upload.message", "没有选择文件!");
					}//end else 
				}//end else
			}//end while
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("上传文件失败!");
			request.setAttribute("upload.message"," 上传文件失败!");
		}
		request.getRequestDispatcher("../uploadResult.jsp").forward(request,  response);
	}
	public void init(ServletConfig config){
		//获取配置文件保存的变量值
		savePath = config.getInitParameter("savePath");
		//获取Servlet上下文对象
		sc = config.getServletContext();
	}
}

 

分享到:
评论

相关推荐

    Java文件上传servlet接口

    本文将深入探讨如何使用Servlet实现一个简单的文件上传接口,并以JSON格式返回响应数据。 首先,我们需要了解Servlet接口。Servlet是Java编程语言中用于扩展服务器功能的接口,它允许开发者编写代码来处理HTTP请求...

    java写的文件上传servlet

    下面将详细介绍如何在Java中编写一个文件上传的Servlet。 首先,我们需要引入相关的Java库。在Java 7及以上版本,Servlet API已经包含了处理文件上传的功能,我们通常会导入以下依赖: ```xml <groupId>javax....

    文件上传servlet方式

    本教程将专注于使用Servlet来实现文件上传。Servlet是Java提供的一种服务器端编程接口,它能够处理HTTP请求并返回响应。在不依赖任何框架如Struts2的情况下,我们可以直接使用Servlet API来完成文件上传操作。以下是...

    servlet实现文件上传下载

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

    FileUploadServlet_javaweb文件上传servlet_

    在本示例中,"FileUploadServlet"是一个专门处理文件上传的Servlet,让我们详细了解一下如何利用Servlet实现文件上传功能。 首先,我们需要了解Servlet生命周期中的关键方法,如`init()`, `service()`, `doGet()` ...

    文件上传jsp,servlet编写

    在这个“文件上传jsp,servlet编写”的项目中,开发者使用了这两种技术来实现一个文件上传的功能。下面将详细介绍JSP和Servlet在文件上传中的应用以及相关知识点。 **JSP(JavaServer Pages)**: JSP是一种基于...

    Servlet中文件上传和下载

    以下是一个简单的文件上传Servlet示例: ```java @WebServlet("/FileUploadServlet") public class FileUploadServlet extends HttpServlet { protected void doPost(HttpServletRequest request, ...

    用servlet实现了文件上传

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

    ajax异步文件上传,servlet处理

    本篇文章将深入探讨AJAX异步文件上传以及如何使用Servlet进行处理。 ### 1. AJAX异步文件上传原理 在HTML5之前,由于浏览器安全限制,AJAX无法直接处理文件,但HTML5引入了`FormData`对象,使得AJAX能够处理文件...

    CKEditor 上传文件(Servlet实现)

    本教程将详细介绍如何通过Servlet来实现CKEditor的文件上传功能。 首先,我们需要了解Servlet的概念。Servlet是Java服务器端程序,用于处理来自客户端(如浏览器)的请求并返回响应。在CKEditor的文件上传场景中,...

    servlet 文件上传下载例子

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

    tomcat+tomcat插件+servlet文件上传jar包

    标题中的“tomcat+tomcat插件+servlet文件上传jar包”揭示了本文将要讨论的是如何在Tomcat服务器上实现文件上传功能,并且利用相关的Tomcat插件进行辅助开发。Tomcat是一款广泛使用的开源Java Servlet容器,它实现了...

    servlet上传下载文件

    Servlet技术广泛应用于文件上传和下载的功能实现,因为它们可以方便地与客户端交互并处理数据流。在本例中,我们将深入探讨如何使用Servlet来实现文件上传和下载功能。 首先,让我们了解文件上传的基本流程。当用户...

    文件上传与下载servlet

    下面将详细介绍如何使用Servlet实现文件上传和下载的功能。 ### 文件上传 文件上传通常涉及到HTTP协议中的`multipart/form-data`编码类型,这是处理表单数据中包含文件的关键。Servlet 3.0及以上版本提供了更方便...

    Uploadify多文件上传+servlet

    在IT行业中,多文件上传是一项常见的需求,尤其是在...这个"Uploadify多文件上传+servlet"的简单例子为我们提供了一个基础的多文件上传解决方案,但在实际项目中,我们可能需要根据具体需求进行更复杂的定制和扩展。

    文件上传下载servlet自用

    在IT行业中,文件上传下载是Web应用中常见的功能,尤其在服务器端编程中,Servlet扮演着重要的角色。Servlet是Java编程语言中用于扩展服务器功能的接口,它可以在接收到HTTP请求后进行处理,并向客户端返回响应。在...

    基于servlet的文件上传

    本示例基于Servlet和Apache Commons FileUpload库实现了一个简单的文件上传系统。下面将详细介绍这个过程及其涉及到的关键知识点。 首先,`servlet`是Java EE(企业版)的一部分,它是一种用于扩展Web服务器功能的...

    纯jsp,servlet版的多文件上传与下载

    纯jsp,servlet版的文件上传与下载.同时可以上传两个文件,也可以自己修改下代码上传多个文件,这是本人的自己的代码,不是为了赚点积分,还真有点舍不得上传。工程名写成了了nostruts,是为了区分struts,用jsp写的

    java上传文件(servlet3.0)

    Servlet 3.0是Java EE的一部分,它引入了许多改进,使得文件上传变得更加简单和高效。本篇文章将深入讲解如何使用Servlet 3.0实现文件上传功能。 一、Servlet 3.0新特性 Servlet 3.0标准放宽了对web.xml的依赖,...

    简单的文件上传 (servlet)

    本篇将探讨如何使用Servlet实现一个简单的文件上传。Servlet是Java Web开发中的一个重要组件,它允许我们处理HTTP请求和响应。在这个示例中,我们将关注如何处理文件上传请求。 首先,我们需要创建一个HTML表单来让...

Global site tag (gtag.js) - Google Analytics