Struts2实现文件上传

来源:互联网 发布:微领袖商学院源码 编辑:程序博客网 时间:2024/06/02 14:32

**1.原始的servlet文件上传下载(见上一篇)
2.Struts2框架的文件上传
3.spring-Mvc框架的文件上传(见下一篇)**

Struts2实现文件上传

  1. Struts文件上传依赖两个jar包,需要导入项目中。Common-upload.jar,common-io.jar
  2. upload.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><script type="text/javascript" src="js/jquery-2.0.3.min.js"></script><hr><s:form action="upload/upload" method="post" enctype="multipart/form-data">上传文件<input type="file" name="upload"><input type="submit"></s:form></body></html>

uploadAction

package king.zyt.controller;import java.io.File;import java.io.IOException;import javax.servlet.http.HttpServletRequest;import org.apache.commons.io.FileUtils;import org.apache.struts2.ServletActionContext;public class UploadAction {    private String uploadFileName;//文件名    private File upload;//存储文件    public String getUploadFileName() {        return uploadFileName;    }    public void setUploadFileName(String uploadFileName) {        this.uploadFileName = uploadFileName;    }    public File getUpload() {        return upload;    }    public void setUpload(File upload) {        this.upload = upload;    }    public String upload(){        HttpServletRequest request = ServletActionContext.getRequest();        String realPath = request.getRealPath("/upload");//上传到服务器下的upload文件夹  getRealPath获取tomcat在磁盘的路径        try {            //FileUtils.copyFile(upload, new File("d://a.txt"));            FileUtils.copyFile(upload, new File(realPath+"/"+uploadFileName));//拷贝文件upload 到 后面的文件        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return "upload";    }}

既然是Struts2框架 你就别忘了配置action
struts-upload.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>      <package name="upload" namespace="/upload" extends="struts-default">        <action name="upload" class="king.zyt.controller.UploadAction" method="upload">            <result name="upload">/upload_success.jsp</result>        </action>    </package>  </struts>

不懂Struts2?明天讲!敲黑板…….

0 0