JAVA Web 之 struts2文件上传下载演示(二)
一、文件上传演示
详细查看本人的另一篇博客 http://titanseason.iteye.com/blog/1489397
二、文件下载演示
1.Web界面
由于我的操作是,先上传文件,然后才能下载,所以,html代码中的fileFileName=${newFileName},而不是等于具体的文件名,大家在自己做项目的时候,可以修改一下
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>下载文件</title>
</head>
<body>
<div align="center">
<a href="download?fileFileName=${newFileName}">下载</a>
</div>
</body>
</html>
2.Struts配置
<action name="download" class="action.FileAction" method="download">
<result name="success" type="stream">
<param name="contentType">application/octet-stream</param>
<!-- filename的属性值,表示的是下载的时候,显示在下载工具中的文件名,而不一定是保存的文件的文件名 -->
<param name="contentDisposition">attachment;filename="${fileFileName}"</param>
<!-- 下载的文件流的方法名, 也就是说, 在Java代码里面必须有InputStream getDownloadFile()这个方法 -->
<!-- 在这里定义成文件名xxx,那么对应在Java文件中就必须要有InputStream getXxx()方法 -->
<param name="inputName">downloadFile</param>
<!-- 缓存大小 -->
<param name="bufferSize">4096</param>
</result>
<result name="input">index.jsp</result>
</action>
3.Java后台代码
public String download(){
return SUCCESS;
}
public InputStream getDownloadFile() {
return ServletActionContext.getServletContext().getResourceAsStream(
"/file/" + fileFileName);
}
4.小注
至此,文件下载演示完成
<1>如果下载的时候,出现中文乱码,请看另一篇博客
<2>下载的效果图如下所示
- 大小: 12.9 KB
分享到:
相关推荐
在压缩包文件名称列表"ext_struts_shangchuan"中,我们可以推测这可能包含了项目的基本结构,如HTML、CSS、JavaScript(ExtJs代码)、Java源码(Struts2 Action和Service)、配置文件(如struts.xml、web.xml)等。...
Struts2是一个强大的Java web应用程序开发框架,它基于Model-View-Controller(MVC)设计模式,用于构建可维护性高、结构清晰的企业级应用。Struts2提供了丰富的功能,如拦截器、结果类型、国际化支持等,使得开发者...
Struts2是一个非常流行的Java Web框架,用于构建MVC(模型-视图-控制器)架构的应用程序。在处理文件下载时,Struts2提供了一套完整的解决方案,包括处理中文文件名的乱码问题。在标题提到的场景中,开发者可能遇到...
总结来说,这个"Struts2演示源码"涵盖了Struts2的核心功能,包括Action结果的处理、文件上传、自定义拦截器的创建和应用、输入验证以及OGNL的使用。通过深入研究这些示例,开发者可以更好地理解和掌握Struts2框架,...
Struts2是一个强大的Java web应用程序框架,用于构建和管理MVC(模型-视图-控制器)架构的应用程序。在这个综合演示实例中,我们将深入探讨如何使用Struts2框架,结合SQL、JDBC、Java、JSP、JavaScript以及Struts2...
这个"Struts2+上传文件源码"是一个演示如何在Struts2框架下实现文件上传的示例代码。 首先,我们来理解上传文件的基本流程。在Struts2中,文件上传是通过`Commons FileUpload`库来处理的,这是一个Apache提供的开源...
总的来说,"Struts-文件上传下载.rar"这个压缩包可能包含了一个完整的示例,演示了如何在Struts框架下实现文件上传和下载的功能。通过学习和分析其中的代码,开发者可以更好地理解Struts框架处理文件操作的机制,...
这个“Struts2 文件上传和下载示例程序”是一个演示如何在Struts2中实现这两个功能的实例。 文件上传是Web应用程序中的一项重要功能,允许用户从本地计算机选择文件并将其传输到服务器。在Struts2中,这一过程涉及...
这个"Struts2文件上传"示例程序旨在演示如何在Struts2框架中实现这一功能。 首先,我们需要理解Struts2的配置文件`struts.xml`在文件上传中的作用。在这个配置文件中,你需要定义一个Action,该Action将处理文件...
Struts1.2 文件上传是Java Web开发中的一个重要实践,尤其在处理用户通过网页提交大体积数据时,如图片、文档等。这个"struts1.2文件上传demo"是一个基于MyEclipse6.0集成开发环境的示例项目,用于演示如何在Struts...
这个"struts2(ssh)带进度条文件上传 demo 的jar包1"可能是为了演示如何实现这一功能,但由于描述中提到权限问题,jar包被分成了三次上传,这里是第一部分。 在实现带进度条的文件上传时,通常需要以下步骤: 1. ...
Struts2是一个流行的Java Web框架,它为开发者提供了一种优雅的方式来构建可维护、结构清晰的Web应用程序。在Struts2中实现多文件上传功能是一项常见的需求,这使得用户可以在一次请求中上传多个文件。本篇文章将...
在Struts2中处理文件下载是常见的需求,尤其是在处理用户请求获取服务器上的静态资源或者上传文件的下载时。本资源包提供的源码详细演示了三种不同的文件下载方法。 1. **超链接下载** 超链接下载是最直观且简单的...
1.struts2_1 struts2 基本配置 2.struts2_2 validationl,ModelDriven,properties 3.struts2_interceptor 拦截器,自定义拦截器 4.struts2_log4j 5.struts2_spring struts spring 整合 以上功能包含完整示例代码 ...
在数据处理方面,王勇老师演示了文件上传的功能实现,以及自定义类型转换器(局部和全局)的编写,这些都是Web应用中常见的需求。 王勇老师还专门讲解了Struts2对国际化(i18n)的支持,使学员能够创建多语言的Web...
Struts是Java Web开发中的一款经典MVC框架,它的出现极大地简化了企业级应用的构建。国际化(Internationalization,简称i18n)是软件设计中一个重要的方面,它允许软件适应不同语言和文化环境。在Java Struts框架中...
Struts2是一个强大的Java web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。这个"Struts2 demo2"很可能是为了演示和学习Struts2框架的多种功能和配置方式。以下是根据提供的文件名解析出的相关知识点:...
在本示例中,它与Java后端技术Struts2结合,展示了一个完整的CRUD(创建、读取、更新、删除)操作及分页功能的DEMO工程。** **1. DWZ框架:** DWZ提供了丰富的UI组件,如表单、对话框、按钮、菜单等,简化了前端...
Struts2是一个强大的Java EE应用程序框架,用于构建MVC(模型-视图-控制器)架构的Web应用。这个“struts2简单例子”是初学者理解Struts2工作原理和核心概念的一个很好的起点。让我们深入探讨一下Struts2的基础知识...