013_下载静态资源
一. 使用Tomcat默认的servlet去下载静态资源
1. 直接以超链接的方式下载, 不写任何代码, 就能够下载东西下来。
<a href="Download/shake.wav">shake.wav</a><br/>
<a href="Download/logo.png">logo.png</a><br/>
<a href="Download/apache-tomcat7.zip">apache-tomcat7.zip</a>
2. Tomcat里面有一个默认的。这个DefaultServlet 专门用于处理放在Tomcat服务器上的静态资源。
3. 新建一个Download的Web工程
4. 在WebContent下新建一个Download的目录, 放入几个文件
5. 新建一个index.html
6. 编写index.html
<!DOCTYPE html>
<html><head><meta charset="UTF-8" /><title>下载</title></head><body><a href="Download/shake.wav">shake.wav</a><br/><a href="Download/logo.png">logo.png</a><br/><a href="Download/apache-tomcat7.zip">apache-tomcat7.zip</a><br/></body>
</html>
7. 部署运行
8. 点击shake.wav, chrome浏览器在网页中打开了它
9. 点击logo.png, chrome浏览器在网页中打开了它
10. 点击apache-tomcat7.zip, 进行下载
二. 使用自己的Servlet去下载文件, 而不是展示
1. 编写index.html
2. 新建一个Download.java类
3. 编写Download.java类
package com.lywgames.myservlet;import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class Download extends HttpServlet {private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 获取文件名字String filename = req.getParameter("filename");// 让浏览器收到这份资源的时候, 以下载的方式提醒用户, 而不是直接展示。 resp.setHeader("Content-Disposition", "attachment; filename="+filename);// 获取这个文件在Tomcat里面的绝对路径地址String path = getServletContext().getRealPath("Download/" + filename);InputStream is = new FileInputStream(path);OutputStream os = resp.getOutputStream();int len = 0 ;byte[] buffer = new byte[1024];while((len = is.read(buffer)) != -1){os.write(buffer, 0, len);}os.close();is.close();}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}
}
4. 编写web.xml
5. 部署运行项目, png和wav文件也可以下载
013_下载静态资源相关推荐
- vue中使用a标签下载静态资源文件(比如excel、pdf等)后端不参与
问题描述 平常我们在项目中需要做下载文件的功能,比如下载excel表格.比如下载pdf文件.比如下载word文档,这样的功能,一般是后端做,即:后端返回一个流文件.或者返回一个url地址- 但是,实际 ...
- 入门SpringBoot-关于那些静态资源(四)
与之前开发手动下载静态资源 如jquery bootstrap导入项目相比,springboot采用 webjars:以jar包的方式引入静态资源. 在官网中提供了常见前端框架的maven依赖. ...
- springboot 应用中静态资源下载
一. 场景介绍 Excel模板静态资源在,应用中的static文件夹中,文件名称包含中文; 需求:页面直接访问下载Excel模板. 二.目录结构 三.后台代码 1 @GetMapping(" ...
- springboot访问下载/resource/static下的静态资源;下载excel文件损坏,打不开
放文件 直接把文件放到resource下的static文件夹中 看编译结果 启动之后看看是否被编译了 访问,下载 然后在浏览器输入下面地址就能自动下载文件了 http://localhost:8002 ...
- java服务器下载jpg等静态资源方法
浏览器下载服务器上jpg等静态资源方法 /*** 服务器下载静态文件* @param request* @param response* @param filePath* @param fileNam ...
- 前端vue/h5下载Springboot后端静态资源(txt/word/excel)
1.首先Springboot需要配置跨域和静态资源static目录存放对应的资源文件(txt等) import org.springframework.context.annotation.Bean; ...
- 解决nginx静态资源无法预览只能下载的问题
解决nginx静态资源无法预览只能下载的问题 场景介绍 项目需求:用户登录web系统之后,如果有系统新消息产生,需用提示音告知用户,并且用户可以上传自己的个性化提示声音. 解决方案:用nginx静态代 ...
- webpack打包缓存_【第835期】Webpack 的静态资源持久缓存
原标题:[第835期]Webpack 的静态资源持久缓存 前言 你现在还在休假吗?早读课节前以web pack漫谈结尾,今年就以web pack开始吧.今日早读文章由众成翻译@yanni4night带 ...
- nginx配置静态资源html,通过nginx服务器访问静态资源(示例代码)
通过nginx服务器访问静态资源 引言 之前在做毕设的时候接触过nginx,那时候是用来做前后端分离的.一转眼都快一年了,nginx的相关内容也忘的差不多了. 有过接触前端的同学都知道,直接在标签的s ...
最新文章
- infopath java包_InfoPath 2013 修补程序包 (Ipeditor x none.msp) 的描述︰ 2014 年 4 月 8,...
- 十年研发经验嵌入式工程师书籍推荐
- TP-Link無線路由器(分享器)頻寬控管
- python object的实例是什么_Python-向现有对象实例添加方法
- 互掐!美团“抛弃”支付宝,背后的真相到底是啥?
- java动态变量名反射_Java动态性—反射 - Eclipse666的个人空间 - OSCHINA - 中文开源技术交流社区...
- 知识点old1908
- struts2漏洞修复
- 【穷举】用c#实现一个数组(1,1,2,2,3,3,4,4)排列,每两个相同数字中间都间隔了这个数字个数...
- silverlight读取mysql_silverlight访问数据库
- 【Datawhale】[task2]2.3代码示例
- 如何修改web浏览器title文字及icon
- leetcode-53-maxium subarray
- 电容的作用?电容器的作用?
- Vmware私有云平台搭建(1)
- matlab shading颜色设置,关于matlab中pcolor显示图片时的shading设置问题
- 京东回归港股不是上岸,刘强东还有更大的杀招!
- excel中怎么拆分表格
- HTML5期末大作业:电影网站设计——电影资讯博客(5页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 web学生网页设计作业源码
- 爬取指定网页并制作词云图