1、 创建表单―index.jsp
2、 上传成功文件―upload_success.jsp
3、 UploadActionForm.java文件
4、 UploadTestAction.java文件
5、 配置struts-config.xml文件
在struts-config.xml文件---配置上传文件的参数(采用<controller>标签)
・ 如上传文件的最大为10M,其他配置参数见struts.jar文件中的org.apache.struts.resources中的struts-config_1_2.dtd查看其他的参数
<controller maxFileSize="10M"/>
・struts-config_1_2.dtd中的可配置的信息
bufferSize className contentType forwardPattern nputForward locale maxFileSize memFileSize multipartClass nocache pagePattern processorClass tempDir
自:http://www.huomo.cn/developer/article-e2de.html
<li>测试struts上传文件</li><br>
<form action="upload.do" method="post" enctype="multipart/form-data">
标题:<input type="text" name="title"><br>
文件:<input type="file" name="myfile"><br>
<input type="submit" value="提交">
</form>
2、 上传成功文件―upload_success.jsp
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!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=GB18030">
<title>Insert title here</title>
</head>
<body>
<!--
uploadForm.title中的uploadForm是根据
<form-bean name="uploadForm" type="com.bjsxt.struts.UploadActionForm"/>
中的name="uploadForm"而来的
-->
标题:${uploadForm.title}<br>
文件名:${uploadForm.myfile.fileName }<br>
</body>
</html>
3、 UploadActionForm.java文件
package com.bjsxt.struts;
import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
/**
* 上传ActionForm
* @author Administrator
*/
public class UploadActionForm extends ActionForm {
private String title;
//必须采用FormFile声明
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;
4、 UploadTestAction.java文件
package com.bjsxt.struts;
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;
/**
* 上传Action
* @author Administrator
*/
public class UploadTestAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UploadActionForm uaf = (UploadActionForm)form;
System.out.println("title" + uaf.getTitle());
//FormFile是一个接口
FormFile myFile = uaf.getMyfile();
if (myFile != null) {
System.out.println("fileName=" + myFile.getFileName());
//存在C盘
FileOutputStream fos = new FileOutputStream("c:\\" + myFile.getFileName());
fos.write(myFile.getFileData());
fos.flush();
fos.close();
return mapping.findForward("success");
5、 配置struts-config.xml文件
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<form-bean name="uploadForm" type="com.bjsxt.struts.UploadActionForm"/>
<action path="/upload"
type="com.bjsxt.struts.UploadTestAction"
name="uploadForm"
scope="request"
<forward name="success" path="/upload_success.jsp"/>
</action>
</struts-config>
在struts-config.xml文件---配置上传文件的参数(采用<controller>标签)
・ 如上传文件的最大为10M,其他配置参数见struts.jar文件中的org.apache.struts.resources中的struts-config_1_2.dtd查看其他的参数
<controller maxFileSize="10M"/>
・struts-config_1_2.dtd中的可配置的信息
bufferSize className contentType forwardPattern nputForward locale maxFileSize memFileSize multipartClass nocache pagePattern processorClass tempDir
自:http://www.huomo.cn/developer/article-e2de.html