JavaWeb文件下载
来源:互联网 发布:图解电影的软件 编辑:程序博客网 时间:2024/06/05 16:30
文件下载
在页面上点击按钮或连接就进行下载了。但是本质上是存在静态和动态的下载。
1、静态:
是对静态资源的下载,静态资源也就是已经存在于web应用程序的目录或者其子目录中的文件等。
首先要在项目下编辑好页面和静态资源,如下:
html代码如下:
<html> <head> <title>filedownload.html</title> <meta name="content-type" content="text/html; charset=UTF-8"> </head> <body> <a href="a.txt">点击下载静态资源</a> </body></html>
在点击“点击下载静态资源”后,页面或链接到http://localhost:8080/testspringmvc/a.txt
实际上就是用浏览器来打开a.txt这一静态资源。
然后就可以手动去“另存为”从页面上保存资源。
2、动态
动态就是利用服务器来先加载目标资源然后是浏览器下载,目标资源可能项目目录上下的静态资源,或者其他目录下的资源,也可以是数据库中的资源。(管他什么资源,都是servlet先加载,只不过加载时不同情况不同方法)。
首先是页面:
<body> <a href="a.txt">点击下载静态资源</a><br> <a href="/testspringmvc/download?filename=a.txt">点击下载动态资源</a></body>
只是为了调用servlet,所以啥方法都行,我用了a标签,用了get传参。
然后就是servlet:
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 MyFiledownload extends HttpServlet{ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获得请求文件名 String filename = request.getParameter("filename"); System.out.println(filename); //设置文件MIME类型 response.setContentType(getServletContext().getMimeType(filename)); //设置Content-Disposition response.setHeader("Content-Disposition", "attachment;filename="+filename); //读取目标文件,通过response将目标文件写到客户端 //获取目标文件的绝对路径 String fullFileName = getServletContext().getRealPath("/" + filename); //System.out.println(fullFileName); //读取文件 InputStream in = new FileInputStream(fullFileName); OutputStream out = response.getOutputStream(); //写文件 int b; while((b=in.read())!= -1) { out.write(b); } in.close(); out.close(); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
启动tomcat后,再点击“下载动态资源”,实现对资源的下载,结果:
阅读全文
0 0
- javaweb文件下载
- JavaWeb下载文件
- JavaWeb 文件下载
- JavaWeb 文件 上传 下载
- javaweb 下载文件
- JavaWeb文件上传、下载
- ---JavaWeb文件下载
- JavaWeb 文件 上传 下载
- JavaWeb文件下载
- javaWeb下载文件
- javaWeb文件下载
- JAVAWEB文件下载
- javaWeb实现文件下载
- JavaWeb 文件上传与下载
- javaweb 文件上传和下载
- JavaWeb文件上传与下载
- javaweb文件打包批量下载
- javaWEB文件上传与下载
- Stage View Plugin v2.8 failed to load. Fix this plugin first.
- 反射
- 微信小程序开发常见问题
- nginx学习
- POJ
- JavaWeb文件下载
- cocos2dx 植物大战僵尸 15 豌豆射手的实现
- Intellij-IDEA(2017)破解
- 如何处理httpclient的ssl错误
- 3 sum
- 第1篇-JAVA开篇
- 使用IDEA创建GUI Form项目并构建
- Ubutnu 编译内核基本步骤
- 排序算法之冒泡排序