`
- 浏览:
94954 次
- 性别:
- 来自:
辽宁
-
下载:
java 代码
- public class DownLoadAction extends Action {
-
-
-
- BufferedInputStream bis = null;
-
- BufferedOutputStream bos = null;
-
-
-
-
-
-
-
-
-
-
-
-
- public ActionForward execute(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response)
- throws Exception {
-
- String downloadPath = servlet.getInitParameter("file-upload");
- String fileName = new String(request.getParameter("filename").getBytes(
- "ISO-8859-1"), "GB2312");
- response.reset();
- response.setContentType("application/x-msdownload");
- response.addHeader("Content-Disposition", "attachment; filename=\""
- + new String(fileName.getBytes("GB2312"), "ISO-8859-1") + "\"");
-
- try {
- bis = new BufferedInputStream(new FileInputStream(downloadPath
- + "/" + fileName));
- bos = new BufferedOutputStream(response.getOutputStream());
-
- byte[] buff = new byte[20480];
- while ((bis.read(buff, 0, buff.length)) != -1) {
- bos.write(buff, 0, buff.length);
- }
- bos.flush();
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- bos.close();
- bis.close();
- }
-
- return mapping.findForward("downloadfile");
- }
-
- }
web.xml
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app>
- <servlet>
- <servlet-name>action</servlet-name>
- <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
- <init-param>
- <param-name>config</param-name>
- <param-value>/WEB-INF/conf/struts-config.xml</param-value>
- </init-param>
- <init-param>
- <param-name>config/login</param-name>
- <param-value>/WEB-INF/conf/login/struts-config-login.xml</param-value>
- </init-param>
- <init-param>
- <param-name>debug</param-name>
- <param-value>3</param-value>
- </init-param>
- <init-param>
- <param-name>detail</param-name>
- <param-value>3</param-value>
- </init-param>
- <init-param>
- <param-name>file-upload</param-name>
- <param-value>E:/upload</param-value>
- </init-param>
- <load-on-startup>2</load-on-startup>
- </servlet>
-
- <filter>
- <filter-name>Set Character Encoding</filter-name>
- <filter-class>com.capinfo.filter.SetCharacterEncodingFilter</filter-class>
- <init-param>
- <param-name>encoding</param-name>
- <param-value>GB2312</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>Set Character Encoding</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
-
-
- <servlet-mapping>
- <servlet-name>action</servlet-name>
- <url-pattern>*.do</url-pattern>
- </servlet-mapping>
-
-
-
- <welcome-file-list>
- <welcome-file>/page/welcome.jsp</welcome-file>
- </welcome-file-list>
-
- <taglib>
- <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
- <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
- </taglib>
- <taglib>
- <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
- <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
- </taglib>
- <taglib>
- <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
- <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
- </taglib>
- <taglib>
- <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
- <taglib-location>/WEB-INF/struts-template.tld</taglib-location>
- </taglib>
- <taglib>
- <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
- <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
- </taglib>
- <taglib>
- <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
- <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
- </taglib>
-
- </web-app>
-
struts-config
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
-
- <struts-config>
-
- <form-beans>
- <form-bean name="uploadForm" type="com.capinfo.form.upload.UploadForm" />
- </form-beans>
-
- <global-forwards>
- <forward name="welcome" path="/Welcome.do" />
- <forward name="login" contextRelative="true" path="/login/Login.do" redirect="true" />
- <forward name="upload" path="/page/upload.jsp" redirect="true"/>
- </global-forwards>
-
- <action-mappings>
-
- <action path="/Welcome" type="org.apache.struts.actions.ForwardAction" parameter="/page/Welcome.jsp"></action>
-
- <action path="/upload" type="com.capinfo.action.upload.UploadAction" name="uploadForm" input="/page/upload.jsp" scope="request">
- <forward name="success" path="/page/upload.jsp" />
- </action>
-
- <action path="/downLoad"
- type="com.yourcompany.struts.action.DownLoadAction"
- input="/page/upload.jsp"
- scope="request"
- >
- <forward name="downloadfile" path="/page/upload.jsp" />
- </action>
-
- </action-mappings>
-
- <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
-
- </struts-config>
-
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
这篇博文将深入探讨如何在Struts框架下实现文件下载的功能。 首先,我们需要了解文件下载的基本原理。当用户点击下载链接时,浏览器向服务器发送一个HTTP请求,服务器响应这个请求,将文件内容以特定的MIME类型返回...
本篇文章将详细探讨如何在Struts2框架下实现文件的上传与下载。 首先,我们需要了解Struts2中的文件上传机制。Struts2提供了`FileUploadInterceptor`拦截器来处理文件上传请求。在处理文件上传时,开发者需要在...
本篇文章将详细讲解如何利用Struts2.2和Hibernate3.6实现文件的上传与动态下载。 **一、文件上传** 1. **环境配置**:首先,你需要一个集成开发环境,例如MyEclipse8.6,并安装所需的Struts2.21、JUnit4.8.2以及...
在本篇文章中,我们将深入探讨Struts 1.2.9框架的相关知识,包括其下载方式、安装步骤、核心概念及应用案例等。 ### Struts 1.2.9框架概述 Struts 1.2.9是Struts 1.x系列中的一个版本,它是一个开源的MVC(Model-...
这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`<input type="file">`...
根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在Struts2与Hibernate框架结合下实现分页功能。接下来将详细解析Struts2与Hibernate如何协作完成这一任务。 ### Struts2与Hibernate...
这篇文档“struts与ajax.docx”可能包含了如何将Struts2和Ajax结合使用的详细步骤。通常,这个过程会涉及以下几个关键点: 1. **Struts2配置**:首先,需要在`struts.xml`配置文件中定义一个Action,这个Action将...
本篇文章将深入探讨Struts 2的核心概念、工作原理及其在实际项目中的应用。 **1. Struts 2框架概述** Struts 2是基于Apache Jakarta Struts 1的升级版,它整合了WebWork框架的优势,提供了更灵活和强大的功能。...
本篇文章将详细介绍如何在Struts2中实现文件下载,并解决中文文件名的编码问题。 首先,我们需要在`struts.xml`配置文件中定义一个Action,这个Action将会处理文件下载的请求。例如,我们可以创建一个名为`...
本篇文章将详细讲解如何利用Struts2和JSP实现前端的分页功能。 分页是Web应用中常见的需求,尤其在处理大量数据时,能够帮助用户更高效地浏览和管理数据。Struts2通过Action类、结果类型配置以及拦截器等机制,可以...
本篇将深入探讨Struts2下载取消报异常的解决方法,以及相关的知识点。 1. **Struts2 文件下载原理** - Struts2提供了方便的Action类和结果类型,如`StreamResult`,来处理文件下载。通过设置HTTP响应头,如`...
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2...
这篇博客文章可能探讨了在Struts2环境下处理文件下载的步骤和技术。 在Struts2中,`DownloadAction.java`很可能是一个关键的控制器类,它负责处理用户请求并提供文件下载。这个类通常会包含以下方法: 1. **预处理...
这篇博客文章“Struts2 上传下载模板”可能提供了关于如何在Struts2框架中实现这一功能的详细教程。 首先,我们来讨论文件上传。在Struts2中,文件上传通常依赖于`Apache Commons FileUpload`库,它处理了文件的多...
本篇文章将深入探讨如何在Struts框架下实现文件的上传与下载功能。 ### 文件上传 1. **准备环境**:首先,确保你的项目已经集成了Struts2框架,包括相关的jar包,如struts2-core、struts2-convention-plugin等,并...
在本篇文章中,我们将深入探讨如何使用Java Struts2框架来完成这些基本的数据操作。 **一、Struts2简介** Struts2是Apache软件基金会的开源项目,它是Struts1的升级版,提供了更灵活的架构和更强的控制力。Struts2...
本篇将重点讲解如何利用Java和Struts框架实现文件的上传与下载功能。 一、文件上传 1. **配置Struts2核心配置文件**: 在`struts.xml`中添加上传配置,声明一个`action`用于处理文件上传请求。例如: ```xml ...
通过阅读这篇博文,你可以获得更具体的实现细节和可能遇到的问题解决方案。 总的来说,Android+Struts2实现图片上传涉及的知识点包括: 1. Android客户端的文件操作和网络请求 2. Bitmap对象的处理和转换为字节...
本篇将深入讲解如何在Struts2中使用Tag,以及它们在"HelloWorld"案例中的应用。 1. **Struts2 Tags介绍** Struts2标签库是基于JSP标准标签库(JSTL)的扩展,它提供了一系列预定义的标签,用于处理表单、链接、...
Struts2是一个非常流行的Java Web...本篇文章将详细介绍如何在Struts2中实现这一功能。 首先,我们需要在Struts2的配置文件(struts.xml)中添加相应的action配置,以处理文件上传请求。以下是一个简单的示例: ```xml ...