分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

网页超链接下载资源

发布时间:2023-09-06 01:30责任编辑:董明明关键词:暂无标签
页面上提供一些超链接,对应的服务器程序中有相关资源,当超链接被单击时,可以下载服务器资源
 版本1:将资源内容响应到浏览器
 1在WebContent下创建资源如:
  葫芦娃.txt          葫芦娃第一集1 2 3 abc
  美女.jpg
  aaa.txt              helloword 你好
 2在WebContent下创建download.html
  <a href="/day33_04/MyServlet?filename=葫芦娃.txt" >葫芦娃</a>
  <a href="/day33_04/MyServlet?filename=美女.jpg" >美女</a>
  <a href="/day33_04/MyServlet?filename=aaa.txt" >aaa</a>
  注意:MyServlet是web.xml中url-prttern的名字
 3创建Servlet类
  继承HttpServlet
  doget方法中
  //1获取浏览器提交的文件名称
  String filename = request.getParameter("filename");
  //2文件名乱码
  filename = new String(filename.getBytes("ISO-8859-1"),"UTF-8");
  //3通过文件名读取对应资源,使用ServletContext获取输入流,并响应到浏览器
  ServletContext boss = getServletContext();
  InputStream is = boss.getResourceAsStream("/"+filename);
  //4通过输出流响应到浏览器
  ServletOutputStream out = response.getOutputStream();
  byte[] bytes = new byte[1024];
  int len;
  while((len=is.read(bytes))!=-1){
   sos.write(bytes, 0, len);
  }
  //5释放资源
  is.close();
  
  步骤:
   要将资源响应到浏览器 需要IO流 使用字节输入输出流
   源文件:WebContent下的资源  可能有中文 需要转码
   目的地:浏览器  response响应
   首先获取源文件
    网页超链接 链接到资源 获取资源文件名,有中文转码
   读取源文件
    需要boss的getResourceAsStream
   写入目的地
    需要响应 response响应  getOutputStream()
  注意点:
   运行时使用浏览器download.html
 版本2:实现下载,弹窗提示客户进行下载处理
 //在响应之前,要告诉浏览器采取的处理方式----进行下载
 response.setHeader("content-Disposition","attachment; filename"+filename);
 版本3:实现下载,弹窗提示客户进行下载处理
 filename = new String(filename.getBytes("ISO-8859-1"),"UTF-8");
 byte[] bytes2 = filename.getBytes("GBK");
 String Downloadfilename = new String(bytes2, "ISO-8859-1");
 步骤
  资源要先响应到浏览器 然后从浏览器通过弹窗下载到客户端
  资源-->Tomcat-->浏览器  浏览器-->Tomcat-->客户端
  资源到浏览器ISO-8859-1-->UTF-8
  浏览器到客户端 封装成GBK 然后再封装成ISO-8859-1
  通过Tomcat将ISO-8859-1剥开成GBK
 
注意:
 如果资源创建在WebContent下重新创建一个文件夹xx,
 那么版本1的3处 InputStream is = boss.getResourceAsStream("/"+filename);
 将"/"改为"/xx/" 否则会报空指针异常NullPointerException

网页超链接下载资源

原文地址:http://www.cnblogs.com/xsyijava-sl/p/8030490.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved