struts2文件下载及文件上传

一、文件下载

struts.xml配置代码

<action name="download" class="com.srt.vas.cs.action.RecordListAction" method="download"/>

 

	public String download() throws Exception {	
		response = ServletActionContext.getResponse();
		response.setContentType("application/x-msdownload");
		response.setHeader("Content-Disposition","attachment;filename=customers.xls"); 
	    OutputStream out = null; 
	    FileInputStream in = null; 
	    try { 
	    	String path = "/WEB-INF/classes/template/customers.xls";
	    	out  = ServletActionContext.getResponse().getOutputStream(); 
	        in = new FileInputStream(ServletActionContext.getServletContext().getRealPath(path)); 
	       
	        byte[] buf = new byte[4096]; 
	        int i = 0; 
	        while((i = in.read(buf)) > 0) { 
	        	out.write(buf, 0, i); 
	        } 
	        out.flush(); 
	    } 
	    catch(Exception e) { 
	       e.printStackTrace();
	    } 
	    finally { 	
	    	if(in != null) {
	    		in.close(); 
	    	}
	    	if(out != null) {
	    		out.close();
	    	}	         	        
	    } 
		return null;
	}

 

二、文件上传

    private File doc;   
    private String fileName;   
    private String contentType;
    public void setDoc(File file) {   
        this.doc = file;   
    }   
       
    public void setDocFileName(String fileName) {   
        this.fileName = fileName;   
    }   
       
    public void setDocContentType(String contentType) {   
        this.contentType = contentType;   
    }

	public String upload() throws Exception {	
		String dir = ServletActionContext.getServletContext().getRealPath("/temp");   
        if(!new File(dir).exists()) {
        	new File(dir).mkdirs();
        }        	
        File target = new File(dir, "customers.xls");              
        FileUtils.copyFile(doc, target);
		return SUCCESS;
	}

//在页面中加入
<file name="doc" size="60" cssclass="t_input"></file>
Struts2框架下的文件上传和下载实现指南 Struts2框架是由OpenSymphony项目组开发的一个开源MVC框架,它是基于WebWork框架的优秀特性并结合了Struts1的优点而发展起来的。Struts2的核心价值在于分离表示层和业务逻辑层,提供了一个更加灵活和强大的方式来构建Web应用程序。在Struts2框架中,处理文件上传请求的后台类通常被定义为Action类。Action类在Struts2中扮演着控制器的角色,是MVC模式中C的关键部分。创建一个Action类需要继承自类或者实现Action接口。 阅读详情

相关推荐

Struts2文件上传与下载实战指南

Apache Struts2是一种用于构建Web应用程序的开源MVC框架。它基于Servlet API,提供了一种灵活的方式来创建动态网页。文件上传和下载是Web应用程序中常见的需求,Struts2框架通过其丰富的拦截器和插件机制,能够简洁地实现这些功能。在Struts2中,文件上传和下载的实现通常涉及拦截器、Action类和结果类型。本章将概述如何使用Struts2框架中的拦截器进行文件上传,并创建专门的Action类来处理文件下载。文件上传拦截器如fileUpload。

weixin_30978239的博客 1044

七、Struts2之文件上传与下载

一、Struts2文件上传   Struts2的文件上传实现非常简单,只需要简单几步就可完成; 注意: (1)文件上传的struts2标签为: (2)文件上传的前提是表单属性method="post" enctype="multipart/form-data"; (3)web应用中必须包含common-fileupload.jar和common-io.jar,因为struts2默认上传

xiazdong 2万+

Struts2 文件上传下载实战:架包配置与应用

本文还有配套的精品资源,点击获取 简介:Struts2框架用于构建企业级Java Web应用,支持文件上传和下载操作。实现这些功能需要Apache Commons FileUpload和Apache Commons IO库。本文详细介绍了如何集成这两个库,配置Struts2项目以处理文件上传和下载,并通过Action类实现业务逻辑。文档还强调了在实际应用中错误处理和权限控制...

weixin_36073714的博客 916

struts2文件上传与下载

struts2框架中有封装文件上传的功能 那么我们在html或者jsp中的 form 应该添加属性 entype=“multipart/form-data” 并且提交的方式 应该设置为 post 提供 file 控件 提供name属性 <form action="hello.action" enctype="multipart/form-data" method="post"> ...

xiezhi_1130的博客 229

基于Struts2实现文件上传与下载功能详解

对于大文件下载,直接加载整个文件流可能造成内存溢出或响应缓慢。通过HTTP协议的Range头,可以实现分段下载与断点续传。= -1) {// 不返回视图。

weixin_35238815的博客 674

struts2文件上传及下载

文件上传 单文件上传 struts2的文件上传功能通过commons-fileupload来实现 jsp表单需要为post提交,并且enctype="multipart/form-data" &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset...

char0321 2942

CYUSB3065配置CMOS

按照OG02B10的时序电路,在通过SCCB配置CMOS之前,需要三个电源上电,Xshutdown高电平和配置时钟电路。找到手册的第6章SCCB(跟IIC很像),可以看到SCCB的地址与SID引脚有关,这个需要到硬件原理图上确认下。这是Cypress的一个支持MIPI和UVC的模块,有例程支持OV5640,现在要替换替换成OG02B10。寄存器参数需要找到厂家的FAE,由他们提供,OG02B10的资料已经上传。(2)参考得宏的电路,时钟由主控提供,目前程序未实现。这里有两个重要参数需要搞定,摄像头的。

qq_40773212的博客 2947

Struts2实现文件上传和下载

在做B/S系统时,通常会涉及到上传文件和下载文件,在没接struts2框架之前,我们都是使用apache下面的commons子项目的FileUpload组件来进行文件的上传,但是那样做的话,代码看起来比较繁琐,而且不灵活,在学习了struts2后,struts2为文件上传下载提供了更好的实现机制,在这里我分别就单文件上传和多文件上传的源代码进行一下讲解,这里需要导入文件下载上传的两个jar文件,一...

筱进GG 4058

QWEN 2.5模型结构解析与代码解读

对Qwen2.5大模型的代码进行研究

4362

惯性导航原理(九)-INS的初始对准-初始姿态确定+双矢量定姿

文章目录INS的初始对准INS初始化静基座/静态粗对准静态粗对准—加速度计调平原理加速度计调平静态粗对准—陀螺罗盘思考初始对准的影响因素双矢量定姿原理静态解析粗对准—双矢量定姿静态解析粗对准(续)其它初始对准方法精对准动对准 INS的初始对准 INS的初始对准为初始化的一部分 INS初始化 初始位置: 给定(INS没有初始位置确定的能力,例如从GPS ) 初始速度: 零(静止状态)或给定 初始姿态: 初始对准(INS有能力自己测资态) 粗对准vs. 精对准 静止状态vs. 运动状态 重要性: 失之毫厘,谬

十八与她的博客 1万+

struts2文件上传和下载

1. struts系统中的拦截器介绍 过滤器:javaweb中的服务器组件,主要针对的请求和响应进行拦截。 拦截器:主要针对方法的调用,进行拦截器,当使用代理对象调用某个方法时候 对方法的调用进行拦截,对拦截到的方法可以进行扩展,增强 Struts2中的拦截器主要针对Action中方法的调用进行拦截 <interceptors> <!—声明n个拦截器--> <interceptor name="fileUpload" class="org.

光何 198

交叉验证选型指南:k折、留一法、时序与分层CV实战决策

交叉验证是评估机器学习模型泛化能力的基础技术,其核心在于通过系统性数据重划分,缓解有限样本对真实分布估计的偏差。原理上,它通过控制训练-验证数据的独立性与代表性,诊断过拟合风险并提升性能指标的稳定性。技术价值体现在避免单次切分导致的结果偶然性、数据利用低效及验证集污染等问题。典型应用场景涵盖分类任务中的类别不平衡处理、时间序列预测的因果约束、用户行为建模中的数据泄露防控等。本文聚焦k折交叉验证、留一法、时间序列交叉验证与分层抽样等主流方法的适用边界与工程落地要点,结合过拟合诊断和泛化能力评估两大热词,提供可

dienangpiao2051的博客 477

Struts2实现文件上传下载

文件的上传 概述: 第一步,需要输入流 读入虚拟机程序中 第二步从虚拟机程序输出流放到需要的路径 思路: 1.客户端 浏览器如何处理---表单 2.action 中如何处理上传的文件 3.如何将文件保存到服务器的某个位置。 uil:统一资源描述符 项目名+actionname名 method 提交方式 get不安全 post 协议体 ...

qq_44025656的博客 1021

PCB布线避坑指南:晶振布局的5个致命错误(附正确示例图)

本文深入解析PCB布线中晶振布局的5个致命错误,包括底层布线、电容布局、地平面处理等关键问题,并提供实战解决方案。通过真实案例和量化数据,帮助硬件开发者避免常见陷阱,提升电路稳定性和性能。特别针对晶振这一高敏感元件,给出布线参数黄金法则和三维避让原则。

weixin_29215391的博客 428

手把手教你给STM32F103移植LVGL触摸驱动(基于野火开发板,附完整代码)

本文详细介绍了如何在野火STM32F103开发板上移植LVGL触摸驱动,提供从环境准备到代码实现的完整指南。通过XPT2046触摸芯片的底层驱动集成和LVGL输入设备接口配置,开发者可以快速实现触摸功能,并解决常见问题如触摸无响应、坐标偏移等。

weixin_30856725的博客 1021

struts2之文件上传和下载

一个文件上传和下载的例子,思路:先上传几个文件,然后获取文件列表,列表中每个文件对应一个下载链接文件上传:Action:get/set方法省略package com.action; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.str...

终南山_张半仙的博客 230

【ArcGIS遇上Python】批量提取多波段影像至单个波段

本案例基于ArcGIS python,将landsat影像的7个波段影像数据,批量提取至单个波段。

智慧空间实验室 2073

Struts2文件上传下载

Struts2文件上传下载(一) 要想将文件从客户端上传到服务器,首先要将form的enctype属性设置为” multipart/form-data”,method属性设置为post。然后在服务端获取上传的二进制流,解析出二进制流中所包含的全部表单域。表单域中包含的信息可能是文本信息,也可能是二进制的字节码,文本和字节码混合在一起。要想将一个文件中包含的二进制信息从一个二进制流中“

congcongsuiyue的专栏 1304

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

struts2文件上传下载

文件上传1.struts2中文件上传介绍 struts2文件上传需要使用apache提供的文件上传组件(commons-fileupload.jar和commons-io.jar)。 struts2文件上传的核心是通过fileupload拦截器实现的。2.如何实现文件上传 1>.添加commons-fileupload和commons-io包 2>.在jsp页面做如下...

baifuzhan2888的博客 57

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Struts2文件上传与下载问题

Struts2学习过程中需要实现文件的上传与下载,其中踩了不少坑,随手记一下。1.文件上传后找不到这个问题是由于没有保存文件引起的,Struts2框架实现了文件的上传,且存了临时文件,但是action结束后就自动删除了,如图因此需要手动实现文件的保存,此处代码是两个文件在一个表单中上传的保存private File myfile[]; private String myfileContentTy...

zzzzze 268

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Struts2实现文件上传下载笔记

文件上传-测试换将搭建: index.jsp: method:post enctype="multipart/form-data" UploadAction: private File img;//文件 private String imgFileName;//文件名 = 文件 + FileName //setget; execute() { return "success";

qq_38993529的博客 184

基于struts2的文件上传下载

1.struts.xml 1 struts> 2 constant name="struts.multipart.maxSize" value="209715200" /> 设置文件上传大小,2097152=2M --> 3 package name="action" extends="struts-default" namespace="/"> 4

南广一瓮的博客 315
上一篇: MyEclipse6.5不能自动编译问题
下一篇: JfreeChart相关
reallyafei
博客等级 码龄20年 7粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值