摘要:本篇JavaEE基础教程将为大家讲解JavaEE基础编程的知识点,看完这篇文章会让你对JavaEE基础编程的知识点有更加清晰的理解和运用。
本篇JavaEE基础教程将为大家讲解JavaEE基础编程的知识点,看完这篇文章会让你对JavaEE基础编程的知识点有更加清晰的理解和运用。
struts2实现下载各种文件
1、struts.xml
1. <?xml version="1.0" encoding="UTF-8" ?> 2. <!DOCTYPE struts PUBLIC 3. "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 4. "//struts.apache.org/dtds/struts-2.3.dtd"> 5. 6. <struts> 7. <constant name="struts.action.extension" value="action" /> 8. <constant name="struts.enable.DynamicMethodInvocation" value="true" /> 9. <constant name="struts.i18n.encoding" value="utf-8"/> 10. <constant name="struts.custom.i18n.resources" value="message_zh_CN"/> 11. 12. <package name="hys.app.upload" extends="struts-default" namespace="/hys/app/upload"> 13. <action name="download_*" class="com.hys.app.upload.action.FileDownload" method="{1}"> 14. <result name="success" type="stream"> 15. <!--指定文件下载类型 application/octet-stream默认值可以下载所有类型 --> 16. <param name="contentType">application/octet-stream;</param> 17. <!-- contentDisposition是文件下载的处理方式,包括内联(inline)和附件(attachment), 默认是inline --> 18. <!--使用附件时这样配置:attachment;filename="文件名" --> 19. <param name="contentDisposition">attachment;filename="${downloadFileName}"</param> 20. <!--由getInputStream()方法获得inputStream --> 21. <param name="inputName">inputStream</param> 22. <!-- 指定下载文件的缓存大小1024*4 --> 23. <param name="bufferSize">4096</param> 24. </result> 25. </action> 26. </package> 27. 28. </struts>
2、FileDownload.java
1. package com.hys.app.upload.action; 2. import java.io.FileInputStream; 3. import java.io.InputStream; 4. import java.io.UnsupportedEncodingException; 5. import java.net.URLEncoder; 6. 7. public class FileDownload { 8. 9. private String realpath;// 文件来源地址 10. 11. private String savefilename;// 源文件名加后缀 12. 13. private String filename;// 下载文件名加后缀 14. 15. //下载文件流 16. public InputStream getInputStream() throws Exception { 17. FileInputStream fileinput = new FileInputStream(realpath + savefilename); 18. return fileinput; 19. } 20. 21. //访问下载路径 22. public String getUserDoc() throws Exception { 23. //文件来源地址 24. realpath="D:\\upload\\"; 25. //源文件名 26. savefilename = "usermanual.doc"; 27. //下载文件名 28. filename = "用户操作手册.doc"; 29. 30. return "success"; 31. } 32. 33. //提供转换编码后的供下载用的文件名(防止中文乱码) 34. public String getDownloadFileName() { 35. String downFileName = filename; 36. try { 37. downFileName = new String(downFileName.getBytes("UTF-8"),"ISO8859-1"); // 获取中文url参数,转换一下编码; 38. downFileName = URLEncoder.encode(downFileName, "ISO8859-1");// FOR IE URL 重新编码一次 39. } catch (UnsupportedEncodingException e) { 40. e.printStackTrace(); 41. } 42. return downFileName; 43. } 44. 45. public String getFilename() { 46. return filename; 47. } 48. 49. public void setFilename(String filename) { 50. this.filename = filename; 51. } 52. 53. }
3、jsp
1. <%@ page language="java" contentType="text/html; charset=UTF-8" 2. pageEncoding="UTF-8"%> 3. <%String path = request.getContextPath();%> 4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "//www.w3.org/TR/html4/loose.dtd"> 5. <html> 6. <head> 7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 8. <title>Insert title here</title> 9. </head> 10. <body> 11. <span style="color:#006965;">使用须知:</span> 12. <a href="<%=path %>/hys/app/upload/download_getUserDoc.action">下载用户手册</a> 13. </body> 14. </html>
以上,关于Java的全部内容讲解完毕啦,欢迎大家继续关注!更多关于Java的干货请关注职坐标Java频道!希望这篇Java编程文章可以帮助到你。总之,同学们,你想要的职坐标Java频道都能找到!
本文由职坐标整理并发布,希望对同学们学习Java的知识有所帮助。了解更多详情请关注职坐标Java频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号