java action下载文件_struts2实现文件下载功能

本文通过一个图片下载实例,详细介绍了如何在Struts2框架下实现文件下载功能。步骤包括设置项目结构、配置web.xml、编写DownloadAction类、定义struts.xml映射、创建index.jsp页面以及确保正确放置文件。通过执行,用户点击链接即可触发文件下载。
摘要由CSDN通过智能技术生成

本文实例为大家分享了struts2下实现文件下载功能,供大家参考,具体内容如下

下面以实现一个图片下载功能为例:

1. 项目结构

0f77217cd5161c77a0c628104466e7c0.png

2. web.xml

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_3_0.xsd">

struts 2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts 2

/*

index.jsp

30

3.DownloadAction.java

package com.action;

import java.io.InputStream;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class DownloadAction extends ActionSupport{

private static final long serialVersionUID = 1L;

//文件路径

private String path;

//path属性的getter方法

public String getPath(){

return path;

}

//path属性的setter方法

public void setPath(String path){

this.path = path;

}

//返回inputstream,文件下载关键方法

public java.io.InputStream getDownloadFile() throws Exception{

InputStream in = ServletActionContext.getServletContext().getResourceAsStream(getPath());

return in;

}

public String execute() throws Exception{

return SUCCESS;

}

}

4.struts.xml

image/jpeg

attachment;filename="a.jpg"

downloadFile

1024

5.index.jsp

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

首页

欢迎来到首页,点下面链接去下载一个文件

">下载

6.文件路径

项目中要提前建立好download目录,和里面要存在有a.jpg文件,否则,下载会失败。

7.功能入口

项目发布到服务器后,用浏览器访问项目中的index.jsp ,点击下载链接,就可以弹出“下载”对话框。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值