`

J2EE上传文件至服务器

阅读更多

 昨天整了个J2EE文件下载的code,今天熬夜,凌晨半点了,终于把J2EE文件上传一口气给code下来了...

 

本文以Commons FileUpload为例,展示如何利用Commons FileUpload在J2EE中上传文件。

展示DEMO如下,欢迎拍砖。~—~

有点缺憾,就是没做成进度条的效果,因为目前还没头绪,-_-  .....

web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
	<servlet>
		<servlet-name>FileUploadServlet</servlet-name>
		<servlet-class>com.syc.servlet.FileUploadServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>FileUploadServlet</servlet-name>
		<url-pattern>/FileUploadServlet</url-pattern>
	</servlet-mapping>

	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>

</web-app>

 

 

index.jsp

 

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gbk" pageEncoding="gbk"%>
<html>
<body>
	<form action="FileUploadServlet" enctype="multipart/form-data" method="post">
		<input type="text" name="username" /><br />
		<input type="file" name="myfile" /><br/>
		<input type="file" name="myfile" /><br/>
		<input type="submit" />
	</form>
</body>
</html>

 

FileUploadServlet.java

package com.syc.servlet;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
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.FileUpload;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.RequestContext;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.servlet.ServletRequestContext;

public class FileUploadServlet extends HttpServlet {

	/**
	 * 
	 */
	private static final long serialVersionUID = -1315419529138965268L;

	public FileUploadServlet() {
		super();
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		request.setCharacterEncoding("gbk");
		RequestContext requestContext = new ServletRequestContext(request);

		if (FileUpload.isMultipartContent(requestContext)) {

			DiskFileItemFactory factory = new DiskFileItemFactory();
			factory.setRepository(new File("e:/Log/"));
			ServletFileUpload upload = new ServletFileUpload(factory);
			// upload.setHeaderEncoding("gbk");
			upload.setSizeMax(2000000);
			List items = new ArrayList();
			try {
				items = upload.parseRequest(request);
			} catch (FileUploadException e1) {
				System.out.println("文件上传发生错误" + e1.getMessage());
			}

			Iterator it = items.iterator();
			while (it.hasNext()) {
				FileItem fileItem = (FileItem) it.next();
				if (fileItem.isFormField()) {
					System.out.println(fileItem.getFieldName()
							+ " "
							+ fileItem.getName()
							+ " "
							+ new String(fileItem.getString().getBytes(
									"iso8859-1"), "gbk"));
				} else {
					System.out.println(fileItem.getFieldName() + " "
							+ fileItem.getName() + " " + fileItem.isInMemory()
							+ " " + fileItem.getContentType() + " "
							+ fileItem.getSize());

					if (fileItem.getName() != null && fileItem.getSize() != 0) {
						File fullFile = new File(fileItem.getName());
						File newFile = new File("e:/Log/" + fullFile.getName());
						try {
							fileItem.write(newFile);
						} catch (Exception e) {
							e.printStackTrace();
						}
					} else {
						System.out.println("文件没有选择 或 文件内容为空");
					}
				}

			}
		}
	}

}

 

0
3
分享到:
评论

相关推荐

    swf+j2ee上传文件

    总结来说,"swf+j2ee上传文件"是一个利用SWF技术改进传统HTML文件上传体验,结合J2EE实现服务器端处理的解决方案。这个Demo提供了一个实现这一功能的起点,开发者可以通过学习和扩展它,以适应自己的项目需求。

    j2ee上传单个文件小测试

    "j2ee上传单个文件小测试"是一个学习和实践此功能的实例。在这个例子中,我们将探讨如何在J2EE环境中实现一个简单的文件上传功能。 首先,文件上传在J2EE中主要依赖于HTTP协议的多部分/形式数据编码(Multipart/...

    j2ee 文件上传 commons-fileupload实现

    上传文件"&gt; ``` 这个表单会提交到名为`/upload`的URL,对应我们的`FileUploadServlet`。 在实际应用中,还需要考虑一些额外的细节,例如限制文件大小、验证文件类型、处理上传错误等。此外,为了防止内存溢出...

    J2EE架构的做文件上传和下载的文件

    还应限制上传文件的大小,防止服务器被大文件请求拖垮。 总的来说,这个J2EE文件上传和下载的实现提供了一个基础的示例,帮助开发者理解如何在实际项目中处理这类常见的Web交互。通过深入学习和调整这个代码,...

    j2ee文件上传下载局域网网站

    在这个"j2ee文件上传下载局域网网站"项目中,开发者利用J2EE的技术栈创建了一个简易但实用的局域网内部文件传输平台。 1. **文件上传功能**:在J2EE环境中,文件上传通常涉及到Servlet和Java.IO流的使用。Servlet是...

    J2EE Servlet上传文件到服务器并相应显示功能的实现代码

    J2EE Servlet 上传文件到服务器并相应显示功能的实现代码 J2EE Servlet 上传文件到服务器并相应显示功能的实现代码是指通过使用 J2EE Servlet 实现文件上传到服务器,并在服务器端对上传的文件进行处理和显示。下面...

    J2EE文件上传的API

    FileItem接口提供了访问上传文件的基本属性和操作,如文件名、内容类型以及获取数据的InputStream。 在最基本的用例中,你可以调用一个方法来解析Servlet请求,然后对返回的文件项列表进行处理。在更复杂的场景下,...

    j2ee里图片上传及预览的实现

    本文将详细解析如何在J2EE环境中实现这一功能,主要分为两个部分:前端JavaScript控制的图片预览和后端Java处理的文件上传。 一、前端JavaScript控制的图片预览 1. 预览功能: 在HTML页面中,我们通常使用`...

    Web文件管理(J2EE)

    在J2EE(Java 2 Platform, Enterprise Edition)框架下,Web文件管理是一个重要的功能,它允许用户通过Web界面操作服务器上的文件系统,类似于我们熟悉的Windows文件管理器。这一技术的应用广泛,尤其对于云存储、...

    J2EE 非常好的上传示例

    7. **安全性**:上传文件时要特别注意安全问题。避免上传可执行文件以防止代码注入,限制文件大小和类型以防止资源耗尽,使用安全的文件命名策略防止路径遍历攻击。 8. **用户体验**:在前端,可以使用HTML5的`...

    j2ee文件上传下载的例子

    在J2EE(Java 2 Platform, Enterprise Edition)开发中,文件上传和下载是常见的功能需求,尤其是在构建B/S架构的应用系统时。本示例主要关注如何在J2EE环境中实现这一功能。以下是对该主题的详细解释: 一、文件...

    简单j2ee框架,仅用来保存文件

    综上所述,这个"简单j2ee框架,仅用来保存文件"可能是一个基于Servlet和MVC模式的小型应用,主要用于处理文件的上传、下载、管理等基本功能,适合对文件存储有基本需求的场景。它的设计简洁,易于理解和维护,但可能...

    java上传文件到ftp服务器

    在Java编程环境中,将文件上传至FTP(File Transfer Protocol)服务器是一项常见的任务,特别是在Web应用程序开发中,如Spring MVC、Spring Boot或传统的J2EE应用。以下是对这一过程的详细阐述: 1. FTP简介: FTP...

    Struts+Hibernate简化J2EE的文件操作

    - UploadFileAction Servlet负责从HTML表单中提取用户名和上传文件,通过DynaActionForm处理数据,然后调用EJB存储数据。 - ListAllFilesAction Servlet没有输入参数,直接从数据库中检索所有User实体,展示文件列表...

    J2EE工程实现中常见安全问题解决对策

    在J2EE工程实现中,确保系统的安全至关重要。本文主要探讨了几个关键的安全问题以及相应的解决对策,包括Session的安全管理、客户端缓存的安全设计,以及涉及到的相关技术如EJB、JAAS、JSP、JDBC等。 首先,Session...

    java j2ee poi xsl excel 文档操作 包括上传 下载

    综上所述,这个Java J2EE项目利用Apache POI实现了对Excel文件的全面操作,包括创建、读取、修改和保存,还涉及到了XSL转换以及文件的上传和下载功能。在实际应用中,需要考虑性能、安全性和用户体验等多个方面。

    文件服务器

    安全性在文件服务器中至关重要。要确保只有授权用户能访问特定文件,通常会采用身份验证和授权机制。J2EE提供了容器管理的安全性,例如使用JAAS(Java Authentication and Authorization Service)进行用户验证,...

    j2ee 上传 下载

    在J2EE(Java 2 Platform, Enterprise Edition)开发中,文件上传与下载是常见的功能需求,尤其是在构建B/S架构的应用系统时。J2EE提供了一系列API和技术支持来实现这些功能,例如使用Servlet、JavaServer Pages ...

    flex保存Canvas中内容为图片上传到j2ee服务器.docx

    这篇文档主要介绍了如何在Flex中将Canvas内容保存为图片并上传到J2EE服务器的过程。以下是详细步骤: 1. **从Canvas中提取内容** 在Flex中,我们可以使用`BitmapData`类来捕获Canvas(在这里假设是`youcanvasid`)...

    图片上传 文件上传 图片下载 文件

    本示例主要涉及的是使用Java技术栈实现图片及文件的上传和下载,包括JSP(Java Server Pages)、Servlet以及J2EE(Java 2 Platform, Enterprise Edition)的相关知识。下面将详细解释这些概念及其在实际操作中的应用...

Global site tag (gtag.js) - Google Analytics