/**
* Servlet 代码
*/
import java.io.File;
import javax.servlet.ServletContext;
import org.apache.struts2.util.ServletContextAware;
import com.opensymphony.xwork2.ActionSupport;
public class FileUpAction extends ActionSupport implements ServletContextAware {
private File myFile;
private String myFileFileName;
private String myFileContentType;
private ServletContext servletContext;
public File getMyFile() {
return myFile;
}
public void setMyFile(File myFile) {
this.myFile = myFile;
}
public String getMyFileFileName() {
return myFileFileName;
}
public void setMyFileFileName(String myFileFileName) {
this.myFileFileName = myFileFileName;
}
public String getMyFileContentType() {
return myFileContentType;
}
public void setMyFileContentType(String myFileContentType) {
this.myFileContentType = myFileContentType;
}
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
}
public String upLoad() {
String result = null;
if (myFile != null) {
String driverPath = servletContext.getRealPath("date");
File file = new File(driverPath, this.myFileFileName);
myFile.renameTo(file);
result = SUCCESS;
} else {
result = INPUT;
}
return result;
}
}
/**
* Jsp 页面
*/
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!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>
<s:form action="fileUp.action" method="post" enctype="multipart/form-data">
<s:file name="myFile" label="select your file" size="50" />
<s:submit value="upload"/>
</s:form>
</body>
</html>
/**
* web.xml
*/
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
/**
* struts.xml
*/
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC"
-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="File">
<result>/jsp/FileUpload.jsp</result>
</action>
<action name="fileUp" class="org.struts.action.up.FileUpAction" method="upLoad">
<interceptor-ref name="fileUpload">
<param name="maximumSize">100000000</param> //控制文件的大小
<param name="allowedExtensions"> //控制上传的类型
jpg,pdf,doc
</param>
</interceptor-ref>
<interceptor-ref name="basicStack" />
<result name="success">/jsp/success.jsp</result>
<result name="input">/jsp/FileUpload.jsp</result>
</action>
</package>
</struts>
图片:
注意:1、导入io包和struts包。2、创建文件夹存储上传的文件