摘要:本篇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频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号