`
xuehongliang
  • 浏览: 93931 次
  • 性别: Icon_minigender_1
  • 来自: 辽宁
社区版块
存档分类
最新评论

struts实现下载篇

阅读更多

下载:

java 代码
  1. public class DownLoadAction extends Action {   
  2.   
  3.     // --------------------------------------------------------- Instance   
  4.     // Variables   
  5.     BufferedInputStream bis = null;   
  6.   
  7.     BufferedOutputStream bos = null;   
  8.   
  9.     // --------------------------------------------------------- Methods   
  10.   
  11.     /**  
  12.      * Method execute  
  13.      *   
  14.      * @param mapping  
  15.      * @param form  
  16.      * @param request  
  17.      * @param response  
  18.      * @return ActionForward  
  19.      */  
  20.     public ActionForward execute(ActionMapping mapping, ActionForm form,   
  21.             HttpServletRequest request, HttpServletResponse response)   
  22.             throws Exception {   
  23.   
  24.         String downloadPath = servlet.getInitParameter("file-upload");   
  25.         String fileName = new String(request.getParameter("filename").getBytes(   
  26.                 "ISO-8859-1"), "GB2312");   
  27.         response.reset();   
  28.         response.setContentType("application/x-msdownload");   
  29.         response.addHeader("Content-Disposition""attachment;   filename=\""  
  30.                 + new String(fileName.getBytes("GB2312"), "ISO-8859-1") + "\"");   
  31.   
  32.         try {   
  33.             bis = new BufferedInputStream(new FileInputStream(downloadPath   
  34.                     + "/" + fileName));   
  35.             bos = new BufferedOutputStream(response.getOutputStream());   
  36.   
  37.             byte[] buff = new byte[20480];   
  38.             while ((bis.read(buff, 0, buff.length)) != -1) {   
  39.                 bos.write(buff, 0, buff.length);   
  40.             }   
  41.             bos.flush();   
  42.         } catch (Exception e) {   
  43.             e.printStackTrace();   
  44.         } finally {   
  45.             bos.close();   
  46.             bis.close();   
  47.         }   
  48.   
  49.         return mapping.findForward("downloadfile");   
  50.     }   
  51.   
  52. }   

web.xml

xml 代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app>  
  3.   <servlet>  
  4.     <servlet-name>action</servlet-name>  
  5.     <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>  
  6.     <init-param>    
  7.       <param-name>config</param-name>    
  8.       <param-value>/WEB-INF/conf/struts-config.xml</param-value>    
  9.     </init-param>    
  10.     <init-param>    
  11.       <param-name>config/login</param-name>    
  12.       <param-value>/WEB-INF/conf/login/struts-config-login.xml</param-value>    
  13.     </init-param>    
  14.     <init-param>  
  15.       <param-name>debug</param-name>  
  16.       <param-value>3</param-value>  
  17.     </init-param>  
  18.     <init-param>  
  19.       <param-name>detail</param-name>  
  20.       <param-value>3</param-value>  
  21.     </init-param>  
  22.     <init-param>  
  23.       <param-name>file-upload</param-name>  
  24.       <param-value>E:/upload</param-value>  
  25.     </init-param>  
  26.     <load-on-startup>2</load-on-startup>  
  27.   </servlet>  
  28.      
  29.   <filter>  
  30.     <filter-name>Set Character Encoding</filter-name>  
  31.     <filter-class>com.capinfo.filter.SetCharacterEncodingFilter</filter-class>  
  32.     <init-param>  
  33.         <param-name>encoding</param-name>  
  34.         <param-value>GB2312</param-value>  
  35.     </init-param>  
  36.   </filter>  
  37.   <filter-mapping>  
  38.     <filter-name>Set Character Encoding</filter-name>  
  39.     <url-pattern>/*</url-pattern>  
  40.   </filter-mapping>  
  41.      
  42.      
  43.   <servlet-mapping>  
  44.     <servlet-name>action</servlet-name>  
  45.     <url-pattern>*.do</url-pattern>  
  46.   </servlet-mapping>  
  47.      
  48.      
  49.      
  50.   <welcome-file-list>  
  51.     <welcome-file>/page/welcome.jsp</welcome-file>  
  52.   </welcome-file-list>  
  53.      
  54.   <taglib>  
  55.     <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>  
  56.     <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>  
  57.   </taglib>  
  58.   <taglib>  
  59.     <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>  
  60.     <taglib-location>/WEB-INF/struts-html.tld</taglib-location>  
  61.   </taglib>  
  62.   <taglib>  
  63.     <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>  
  64.     <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>  
  65.   </taglib>  
  66.   <taglib>  
  67.     <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>  
  68.     <taglib-location>/WEB-INF/struts-template.tld</taglib-location>  
  69.   </taglib>  
  70.   <taglib>  
  71.     <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>  
  72.     <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>  
  73.   </taglib>  
  74.   <taglib>  
  75.     <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>  
  76.     <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>  
  77.   </taglib>  
  78.      
  79. </web-app>  
  80.   

struts-config

xml 代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">  
  3.   
  4. <struts-config>  
  5.   
  6.     <form-beans>  
  7.         <form-bean name="uploadForm" type="com.capinfo.form.upload.UploadForm" />  
  8.     </form-beans>  
  9.   
  10.     <global-forwards>  
  11.         <forward name="welcome" path="/Welcome.do" />  
  12.         <forward name="login" contextRelative="true" path="/login/Login.do" redirect="true" />  
  13.         <forward name="upload" path="/page/upload.jsp" redirect="true"/>  
  14.     </global-forwards>  
  15.   
  16.     <action-mappings>  
  17.   
  18.         <action path="/Welcome" type="org.apache.struts.actions.ForwardAction" parameter="/page/Welcome.jsp"></action>  
  19.   
  20.         <action path="/upload" type="com.capinfo.action.upload.UploadAction" name="uploadForm" input="/page/upload.jsp" scope="request">  
  21.             <forward name="success" path="/page/upload.jsp" />  
  22.         </action>  
  23.            
  24.     <action path="/downLoad"    
  25.             type="com.yourcompany.struts.action.DownLoadAction"    
  26.             input="/page/upload.jsp"  
  27.             scope="request"  
  28.             >  
  29.         <forward name="downloadfile" path="/page/upload.jsp" />  
  30.     </action>  
  31.        
  32.     </action-mappings>  
  33.   
  34.     <message-resources parameter="com.yourcompany.struts.ApplicationResources" />  
  35.   
  36. </struts-config>  
  37.   
分享到:
评论
1 楼 fighter1945 2009-01-19  
action 的return 这么写,能够成功转向么?
你没报response已经提交的error?

相关推荐

    Struts2 技术内幕-深入解析Struts2架构设计与实现原理

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2...

    struts2技术内幕+struts2权威指南

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2...

    Struts+Spring+Hibernate实现上传下载(MyEclipse版)

    在天极网看了一篇用JBuilder实现的“Struts+Spring+Hibernate实现上传下载”文章,觉得还不错。今天有空我用MyEclipse工具把它重新实现了一边,并增加了一些功能。 &lt;br&gt; &lt;br&gt;所用软件或包的版本: ...

    struts2 技术内幕——深入解析struts2架构设计

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼CSDN产品总监范凯(网名:robbin)以及51CTO等技术社区鼎力推荐。  本书以Struts2的...

    Struts2技术内幕:深入解析Struts架构设计与实现原理

    在核心实现篇中,通过源码解析,帮助广大开发者从Struts 2自身的设计原理上去掌握Web层开发的要点,如数据、动作、拦截器、视图、Plugin、配置、过程;最佳实践篇介绍了一些在实战中提炼出来的针对Struts 2的扩展和...

    Struts2技术内幕.pdf

     本书以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2的技术内幕提供了大量真知灼见。同样重要的是,本书...

    struts与webservice集成研究

    一篇优秀的关于struts与webservice集成的文章.摘要如下: Struts是一个实现MVC模式的框架典范,在Struts框架下通过利用J2EE技术构建Web应用,很好地分离出表示层和业务数据层[1]。Struts框架具有组件构件化、重用性...

    struts2 spring hibernate整合的简单登录代码

    使用mysql数据库的struts2 spring hibernate整合简单示例,也可参考我的:“struts2 spring hibernate整合要点、注意点”这篇文档来配置

    Struts2 chm文档

    5.Struts2中用Spring实现IoC.doc 6.Struts2中的零配置与CoC(Convention over Configration).doc 7.Struts2介绍之使用链接标签.doc 8.Struts2入门.doc 9.Struts2学习进阶(基础篇1-7) 10.Struts2学习进阶(实例篇1...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    11.3 利用Struts实现用户登录的示例 11.6.1 编写实现登录的页面login.jsp 11.6.2 编写存储登录用户信息的类User.java 11.6.3 编写控制器LoginAction.java 11.6.4 配置Struts文档struts-config.xml 11.6.5 配置web....

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    11.3 利用Struts实现用户登录的示例 11.6.1 编写实现登录的页面login.jsp 11.6.2 编写存储登录用户信息的类User.java 11.6.3 编写控制器LoginAction.java 11.6.4 配置Struts文档struts-config.xml 11.6.5 配置web....

    精通Struts基于MVC的Java Web设计与开发 孙卫琴 光盘

    本书第1章到第3章为入门篇,通过两个Struts应用实例,引导读者把握设计、开发和部署Struts应用的整体流程,充分体会Struts框架在开放大型、可扩展的Web应用方面发挥的优势。第4章到第7章深入探讨了Struts框架的核心...

    struts2实例代码

    里面的方法包括三种不同的方法实现ajax,以及对获得的变量的处理,属于一篇博客的源码,配合源码食用效果更佳

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    11.3 利用Struts实现用户登录的示例 11.6.1 编写实现登录的页面login.jsp 11.6.2 编写存储登录用户信息的类User.java 11.6.3 编写控制器LoginAction.java 11.6.4 配置Struts文档struts-config.xml 11.6.5 配置web....

    Struts1.0 开发指南 多个文档

    Struts,MVC 的一种开放源码实现.doc Struts.doc Struts标记库.doc Struts开发指南之J2EE n层结构.doc Struts开发指南之MVC架构.doc Struts开发指南之Taglib.doc Struts开发指南之安装与使用.doc Struts开发指南之...

    精通 Struts:基于 MVC 的 JavaWeb 设计与开发(PDF)

    本书第1章到第3章为入门篇,通过两个Struts应用实例,引导读者把握设计、开发和部署Struts应用的整体流程,充分体会Struts框架在开放大型、可扩展的Web应用方面发挥的优势。第4章到第7章深入探讨了Struts框架的核心...

    Java Web整合开发完全自学手册:Struts+Hibernate+Spring+Eclipse源码

    《JavaWeb整合开发完全自学...《JavaWeb整合开发完全自学手册》的重点第二篇Struts、第三篇Hibernate、第四篇Spring采用了相似的行文结构,条理清楚,不仅可作为stepbystep的入门书籍,也可作为读者自学的案头参考书。

    struts-2.3.32

    漏洞编号:S2-045 CVE编号:CVE-2017-5638 漏洞类型:远程代码执行 ...影响版本:struts2.3.5– struts2.3.31 , struts2.5–struts2.5.10。 本篇文章来源于:http://news.hiapk.com/internet/s58be8c353efd.html

    精通Struts_基于MVC的Java Web设计与开发

    本书第1章到第3章为入门篇,通过两个Struts应用实例,引导读者把握设计、开发和部署Struts应用的整体流程,充分体会Struts框架在开放大型、可扩展的Web应用方面发挥的优势。第4章到第7章深入探讨了Struts框架的核心...

    开发者突击·Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)源码

    分3篇重点讲解Struts、Hibernate、Spring框架技术及这些技术的整合应用;基于Struts1的SSH整合架构,并开发个人通讯录和一个完整的办公自动化系统,实现的功能包括日程安排、工作日志、短消息管理、公告管理、会议...

Global site tag (gtag.js) - Google Analytics