<action name="sdkDownload" class="com.curiousby.sdkDownload"> <!-- result的Type必须为stream --> <result name="success" type="stream"> <param name="contentType"> application/octet-stream;charset=ISO-8859-1 </param> <param name="contentDisposition">attachment;fileName="${fileName}"</param> <param name="inputName">downloadFile</param> </result> </action>
public class sdkDownload extends ActionSupport { private static final long serialVersionUID = -3000992581173343335L; private static Logger logger = Logger.getLogger(sdkDownload.class); private String fileName; private String realPath; /* * @getFileName 此方法对应的是struts.xml文件中的: <param * name="contentDisposition">attachment;filename="${fileName}"</param> * 这个属性设置的是下载工具下载文件时显示的文件名, 要想正确的显示中文文件名,我们需要对fileName再次编码 * 否则中文名文件将出现乱码,或无法下载的情况 */ public String getFileName() throws UnsupportedEncodingException { fileName = new String(fileName.getBytes(), "ISO-8859-1"); return fileName; } public void setFileName() { String fname = ServletActionContext.getRequest().getParameter( "fileName"); try { fname = new String(fname.getBytes("ISO-8859-1"), "UTF-8"); } catch (Exception e) { e.printStackTrace(); } this.fileName = fname; } public InputStream getDownloadFile() { this.setFileName(); String name = ServletActionContext.getRequest().getParameter("name"); try { name = new String(name.getBytes("ISO-8859-1"), "UTF-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } realPath = "/"+"download"+"/" + "/" + name; return ServletActionContext.getServletContext().getResourceAsStream(realPath); } //sdk的下载目前不涉及到控制权限 @Override public String execute() throws Exception { logger.info("excute"); //get fileName fisrt this.setFileName(); String name = ServletActionContext.getRequest().getParameter("name"); try { name = new String(name.getBytes("ISO-8859-1"), "UTF-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } realPath = "/"+"download"+"/" + "/" + name; // 文件下载目录路径 String downloadDir = ServletActionContext.getServletContext().getRealPath("/download"); // 文件下载路径 String downloadFile = ServletActionContext.getServletContext().getRealPath(realPath); java.io.File file = new java.io.File(downloadFile); downloadFile = file.getCanonicalPath();// 真实文件路径,去掉里面的..等信息 // 发现企图下载不在 /download 下的文件, 就显示空内容 if(!downloadFile.startsWith(downloadDir)) { //放置修改路径下载web.xml文件 //return error return null; } return SUCCESS; } }
<a class="versionTitleA" href="<%=request.getContextPath()%>/user/sdkDownload?name=air_ios_sdk.zip&fileName=air_ios_sdk.zip">iOS 版</a>
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!
相关推荐
1. 与Java EE框架集成:ArcGIS Runtime可以无缝集成到Spring、Struts等Java EE框架中,构建企业级地理信息系统。 2. 移动应用开发:适用于Android和iOS平台,提供跨平台的开发能力。 总结,ArcGIS Runtime SDK for...
这个名为“带进度条的文件上传下载组件(JAVA)”的项目,显然聚焦于提供一个用户友好的交互体验,通过显示进度条来增强用户体验,使用户能够清晰地看到文件上传或下载的进度。下面我们将深入探讨这一组件涉及的主要...
1. **安装SDK**:下载并安装appengine-java-sdk-1.3.0_d9soft-part1压缩包,解压后配置环境变量,确保开发工具能够找到SDK路径。 2. **创建项目**:使用SDK提供的命令行工具或集成开发环境(IDE,如Eclipse或...
3.3.1 下载SDK 3.3.2 安装SDK 3.3.3 设定Path、Classpath和J2EE_HOME 3.4 小结 第四章 Tomcat使用指南 4.1 Tomcat简介 4.1.1 Tomcat的目录结构 4.1.2 Tomcat的配置参数 4.2 建立Tomcat的开发环境 4.2.1 下载Tomcat ...
在开始学习Struts2的入门教程之前,确保已经搭建好了开发环境,包括安装了Java SDK和IDE,例如Eclipse。接下来,我们可以创建第一个"Hello World"的Struts2项目。这个项目的目标是收集用户的姓名,并显示带有"Hello ...
开发平台:Eclipse SDK v 3.2.2,下载地址:http://www.eclipse.org/download/index.jsp。 Eclipse插件TomcatPlugins v 3.2.1,下载地址:http://www.eclipse-plugins.info/eclipse/index.jsp。 Eclipse插件...
6. **安装 J2SE SDK v1.4.2**:从 Sun 的官网下载 Java 2 Standard Edition SDK v1.4.2,并安装到任意目录,设为 `java_home`。 7. **安装 MySQL 数据库**:根据需求从 MySQL 官网下载 MySQL 数据库,并完成安装。 ...
3.3.1 下载SDK 3.3.2 安装SDK 3.3.3 设定Path、Classpath和J2EE_HOME 3.4 小结 第四章 Tomcat使用指南 4.1 Tomcat简介 4.1.1 Tomcat的目录结构 4.1.2 Tomcat的配置参数 4.2 建立Tomcat的开发环境 4.2.1 下载Tomcat ...
- 安装 Struts 需要 Java 开发环境 (JDK),至少是 1.2 版本或更高。 - 你需要一个支持 Servlet 规范 2.2 或更高、JSP 规范 1.1 或更高的Servlet容器,如 Tomcat 3.2 或更高版本。 - JAXP 兼容的 XML 解析器,如 ...
3.3.1 下载SDK 3.3.2 安装SDK 3.3.3 设定Path、Classpath和J2EE_HOME 3.4 小结 第四章 Tomcat使用指南 4.1 Tomcat简介 4.1.1 Tomcat的目录结构 4.1.2 Tomcat的配置参数 4.2 建立Tomcat的开发环境 4.2.1 下载Tomcat ...
同时,还需要添加Servlet和JSP的相关jar,例如servlet-api.jar和jsp-api.jar(这些通常在服务器的lib目录下,或者可以从Java EE SDK中获取)。 6. **配置web.xml**:在WEB-INF下的web.xml文件中,配置Struts2的前端...
这通常包括安装最新版本的Java SDK、Apache Tomcat服务器以及其他必要的开发工具。 5. **备份原始代码**:在正式开始迁移工作之前,务必将原有项目的全部源码做好备份,以便在遇到问题时能够及时恢复到初始状态。 ...
1. **Java実行環境の構築**: J2SE SDKをインストールし、Javaの開発環境をセットアップします。 2. **Tomcatのセットアップ**: ServletコンテナとしてTomcatをインストールし、使用可能にする必要があります。 3. **...
1. **环境配置**:首先需要安装Java SDK,然后配置好JDK环境变量。接着,安装Apache Maven或Apache Ant作为构建工具,以及一个IDE,如Eclipse或IntelliJ IDEA。 2. **搭建项目结构**:创建Maven或Ant项目,按照...
如果你打算进行Java EE开发,还需要下载Java EE SDK,如Java EE 7 SDK。安装Java EE SDK时,可以选择解压后启动服务器,例如GlassFish,通过命令行执行asadmin startdomain来启动。 NetBeans是另一个IDE,特别适合...
1. **环境搭建**:首先,确保你已经安装了Java SDK、Apache Tomcat服务器、Eclipse或类似的IDE,以及Struts和Hibernate的库。 2. **创建项目结构**:设置好Web项目的基本目录结构,包括src、WEB-INF、lib等,将所需...
1. 下载对应操作系统的Java SDK安装包,可以在Oracle官方网站获取最新版本。 2. 执行安装程序,按照向导指示完成安装。 3. 配置环境变量,包括JAVA_HOME、PATH和CLASSPATH。JAVA_HOME指向Java SDK的安装目录,PATH...
Struts2是一个强大的、开源的MVC(Model-View-Controller)框架,它简化了Java Web开发,提高了代码的可维护性和可测试性。IntelliJ IDEA作为一款强大的集成开发环境,提供了丰富的功能来支持Struts2的开发。 首先...
在这个源码示例中,C#标签可能是误标,因为Android客户端和Struts2服务端都是基于Java的。不过,如果涉及到跨平台通信,例如使用C#开发的后台服务,那么可能涉及到如Web API或SignalR等.NET技术。 总结来说,这个...
3. **Struts框架**:下载Struts的库文件,如struts-core、struts2-flex-plugin等。这些文件将包含必要的类和API,使Struts能够处理来自Flex的请求。 4. **Flex SDK**:Adobe Flex SDK提供了创建Flex应用程序所需的...