`

使用struts进行文件上传

阅读更多

Struts下进行文件上传。

配置文件如下内容:

<form-bean name="uploadForm" type="com.lwf.struts.action.upload.UploadForm"></form-bean>

<action path="/upload/upload" type="com.lwf.struts.action.upload.UploadAction" name="uploadForm">
	<forward name="success" path="/upload/uploadsuccess.jsp"></forward>
</action>

<controller maxFileSize="10m"/>

上面的controller 标签用来配置上传文件的最大值。

 

上传的表单文件upload.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ include file="/share/jsp_head_include.jspf" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form name="uploadForm" action="upload.do" enctype="multipart/form-data" method="post">
	title:<input type="text" name="title"></input><br>
	file:<input type="file" name="myfile"></input><br>
	<input type="submit" value="submit"></input><br>
</form>
</body>
</html>

 

AcitonForm文件:UploadForm

package com.lwf.struts.action.upload;

import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;

public class UploadForm extends ActionForm {

	private String title;
	private FormFile myfile;
	
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public FormFile getMyfile() {
		return myfile;
	}
	public void setMyfile(FormFile myfile) {
		this.myfile = myfile;
	}
}

 

UploadAction文件

package com.lwf.struts.action.upload;

import java.io.File;
import java.io.FileOutputStream;

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

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import org.apache.struts.upload.MultipartRequestHandler;

public class UploadAction extends Action {

	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		
		UploadForm uploadForm = (UploadForm)form;
		
		String title = uploadForm.getTitle();
		MultipartRequestHandler handler = uploadForm.getMultipartRequestHandler();
		FormFile myFile = uploadForm.getMyfile();
		if(myFile!=null){
			String fileName = myFile.getFileName();
			byte[] byteArray = myFile.getFileData();
			FileOutputStream fos = new FileOutputStream(new File("c:/" +fileName));
			fos.write(byteArray);
			fos.flush();
			fos.close();
		}
		return mapping.findForward("success");
	}

}

 

uploadsuccess.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
upload sucess.

标题:${uploadForm.title }
文件名:${uploadForm.myfile.fileName }
</body>
</html>

 

 

注意的地方:

在Form中,使用了FormFile类型专门接收文件类型

 

 

 

分享到:
评论

相关推荐

    struts2文件上传下载源代码

    在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...

    JavaEE Struts文件上传

    JavaEE Struts 文件上传是Web开发中的一个常见需求,它允许用户从客户端向服务器传输文件。Struts作为JavaEE框架的一部分,提供了强大的功能来处理这种交互。以下是对这个主题的详细解析。 首先,理解文件上传的...

    使用struts上传文件

    总之,使用Struts进行文件上传涉及到Struts的配置、表单设计、ActionForm的编写以及字符编码的处理。`SetCharacterEncodingFilter.java`强调了字符编码的重要性,它是避免中文或其他非ASCII字符乱码的关键。理解并...

    struts2实现文件上传下载

    Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java ...以上就是使用Struts2框架实现文件上传下载的基本步骤和关键知识点。在实际开发中,可以根据项目需求进行调整和优化,确保功能的稳定性和安全性。

    struts2文件上传jar

    2. **上传组件**:Struts2使用Apache Commons FileUpload库来处理文件上传。这个库负责解析请求中的多部分数据,将文件内容分离出来。`commons-fileupload.jar` 是这个库的实现,它包含了处理文件上传的基本类和接口...

    struts2文件上传实例

    1. **.struts2配置**:在Struts2框架中,需要在`struts.xml`配置文件中添加相应的action配置,声明文件上传的处理方法。通常,你需要设置`&lt;result&gt;`类型为`stream`,以便处理上传的文件。 2. **Action类**:创建一...

    Struts2多个文件上传

    Struts2对这些库进行了封装,使得文件上传的代码更加简洁,同时减少了不同上传任务之间的编程差异。 在进行文件上传时,HTML表单需要设置`enctype="multipart/form-data"`,这是为了指示浏览器以二进制流的形式发送...

    Struts AJAX文件上传

    Struts AJAX 文件上传是一种在Java Web开发中实现异步数据传输的技术,它结合了Struts框架和AJAX...在实际开发中,还可以结合其他技术和最佳实践,如使用第三方库如Struts2 jQuery Plugin,进一步简化文件上传的实现。

    struts2文件上传

    Struts2 文件上传是Web开发中的一个重要功能,它允许用户从他们的本地计算机向服务器传输文件。在Struts2框架中,文件上传是通过特定的拦截器实现的,这些拦截器处理了文件上传请求并提供了安全性和大小限制。下面将...

    Struts2之struts2文件上传详解案例struts011

    为了支持文件上传,我们需要创建一个继承自`org.apache.struts2.dispatcher.multipart.MultiPartRequest`的Action类,或者使用Struts2提供的`org.apache.struts2.views.util.DefaultMultiPartRequest`。这个类可以...

    Struts2.0文件上传原理

    虽然Struts2框架本身提供了文件上传的支持,但开发者也可以选择使用第三方库,如Apache Commons FileUpload,它可以更方便地处理文件上传,提供更丰富的功能和更好的性能。 9. **源码分析** 对于深入理解Struts2...

    struts2文件上传例子.rar

    在“struts2文件上传例子.rar”这个项目中,开发者已经使用Struts2.0框架实现了一个简单的文件上传功能。MyEclipse 6.6是一个集成开发环境,支持Java EE项目开发,可以直接导入该项目进行运行和调试。 首先,我们...

    struts 文件上传 Struts实现文件上传

    Struts 使用`org.apache.struts.upload`包中的组件来处理文件上传。主要涉及以下类: - `MultiPartRequestHandler`: 这是Struts的核心类,它解析多部分HTTP请求(即包含文件的请求)。 - `FormFile`: 用于封装上传...

    struts1 文件上传 文件下载

    下面将详细介绍如何使用Struts1实现文件上传和下载,以及涉及到的关键知识点。 **一、文件上传** 1. **表单配置**:在HTML表单中,我们需要使用`&lt;input type="file"&gt;`标签让用户选择要上传的文件。同时,表单需要...

    简单易懂的struts2文件上传

    在Struts2中,文件上传功能是一个常见的需求,例如用户可能需要上传图片、文档或其他类型的文件。本教程将深入浅出地讲解如何在Struts2中实现文件上传,并提供一个简单的实例来帮助理解。 1. **Struts2文件上传概述...

    struts2文件上传和下载

    在Struts2中,文件上传和下载是常见的功能需求,对于用户交互和数据交换至关重要。以下是对这些知识点的详细阐述: 1. **文件上传**: 在Struts2中,文件上传主要依赖于`Commons FileUpload`库,它是一个Apache提供...

    struts2 文件上传

    Struts2 文件上传是Web开发中的一个重要功能,它允许用户通过网页上传文件到服务器。Struts2 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,提供了丰富的特性和强大的控制层功能,使得文件上传...

    struts 单文件上传和多文件上传带进度条

    当用户选择文件后,我们可以在前端实时更新进度条,同时发送异步请求进行文件上传。服务器端则需要支持接收并处理这种非同步请求。 以下是一个简单的JavaScript示例,使用jQuery和jQuery UI Progressbar: ```...

    struts实现文件上传和下载源代码

    在这个"struts实现文件上传和下载源代码"项目中,我们将会探讨如何使用Struts框架来实现在Web应用中进行文件的上传和下载功能,同时还会关注对于大文件(超过3MB)的处理策略。 1. **文件上传** 文件上传是Web应用...

    Struts2文件上传源码

    对于更复杂的需求,可以利用Struts2的拦截器和插件来扩展功能,或者考虑使用其他专门处理文件上传的库,如Spring MVC的`MultipartFile`。理解源码有助于你更好地掌握Struts2的工作原理,从而在遇到问题时能更高效地...

Global site tag (gtag.js) - Google Analytics