javaweb中的资源上传与下载

求一份关于javaweb中的资源上传与下载的模块代码,,,,,,,,,,,,,

这个是上传的代码
package demo;

import java.io.File;

import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class FileUploadAction extends ActionSupport{
private File file;
private String fileContentType;//这三个参数全部不可以修改
private String fileFileName;

public File getFile() {
    return file;
}


public void setFile(File file) {
    this.file = file;
}


public String getFileContentType() {
    return fileContentType;
}


public void setFileContentType(String fileContentType) {
    this.fileContentType = fileContentType;
}


public String getFileFileName() {
    return fileFileName;
}


public void setFileFileName(String fileFileName) {
    this.fileFileName = fileFileName;
}


@Override
public String execute() throws Exception {

    String realPath = ServletActionContext.
            getServletContext().getRealPath("/wenjian");

    File mulu = new File("c:/abc");
    if(!mulu.exists()){
        mulu.mkdirs();//如果目录不存在,则创建
    }
    FileUtils.copyFile(file, new File(mulu, fileFileName));

    return SUCCESS;
}

}

action配置

/index.jsp
/index.jsp

<!-- 文件类型过滤 -->
text/plain,text/xml,image/bmp,image/png,image/gif,image/jpeg
<!-- 单个文件大小, 以字节为单位 -->
1024000

<!-- 默认拦截器必须放在fileUpload之后,否则无效 -->

    </action>

    记得点赞

这个也跟框架有关,,看你用什么框架

ssh 框架的下载
package demo;

import java.io.File;
import java.io.InputStream;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class DownLoadAction extends ActionSupport{
private String filename;//文件名

public String getFilename() {
    return reCode(filename);
}

public void setFilename(String filename) {
    this.filename = filename;
}
public InputStream getDownloadFile()throws Exception{//被下载的文件的路径
    String path="/wenjian/"+filename;

    return ServletActionContext.getServletContext().getResourceAsStream(path);
    }


@Override

public String execute() throws Exception {//获得那个下载后文件真实路径
String realpath=ServletActionContext.getServletContext().getRealPath("/wenjian/"+filename);
File f=new File(realpath);
if (!f.exists()){
return "error";
}
return "success";
}

/**编码问题**/
private String reCode(String str) {
    HttpServletRequest request = ServletActionContext.getRequest();
    String Agent = request.getHeader("User-Agent");
    String filename = str;
    if (null != Agent) {
        Agent = Agent.toLowerCase();
        try {
            if (Agent.indexOf("firefox") != -1) {
                filename = new String(str.getBytes(), "iso8859-1");
            } else if (Agent.indexOf("msie") != -1) {
                filename = java.net.URLEncoder.encode(str, "UTF-8");
            } else {
                filename = java.net.URLEncoder.encode(str, "UTF-8");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    return filename;
}

}

action的配置

<action name="xiazai"  class="com.hnjing.cmp.bgyp.action.DownloadAction">
        <result type="stream">
            <param name="contentDisposition">attachment;filename=${fileName}</param>
            <param name="inputName">downloadFile</param>
        </result>
    </action>
<action name="upload" class="demo.FileUploadAction">
        <result>/index.jsp</result>
        <result name="input">/index.jsp</result>
        <interceptor-ref name="fileUpload">
            <!-- 文件类型过滤 -->
            <param name="allowedTypes">text/plain,text/xml,image/bmp,image/png,image/gif,image/jpeg</param>
            <!-- 单个文件大小, 以字节为单位 -->
            <param name="maximumSize">1024000</param>
        </interceptor-ref>
        <!-- 默认拦截器必须放在fileUpload之后,否则无效 -->
        <interceptor-ref name="defaultStack" />

    </action>

怎么不用Spring?很简单!