网页超链接下载资源

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网页超链接下载资源相关的知识,希望对你有一定的参考价值。

页面上提供一些超链接,对应的服务器程序中有相关资源,当超链接被单击时,可以下载服务器资源
 版本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

以上是关于网页超链接下载资源的主要内容,如果未能解决你的问题,请参考以下文章

如何实现网页超链接的定位问题

HTML网页制作:创建超链接的方法

java如何实现超链接下载

网页资源黄色大气主题html5 css3静态网页作业模版免费下载

求助 自动读取excel并将其里面的批量超链接,然后批量进行下载

2016/9/23总结电脑内容