java servlet文件下载_Java Servlet实现下载文件
发布日期:2021-06-24 13:10:10 浏览次数:2 分类:技术文章

本文共 1441 字,大约阅读时间需要 4 分钟。

一.配置servlet

在WebContent(以前的eclipse版本是WebRoot)文件夹下,有一个web.xml

修改web.xml ,加入以下代码

helloservlet

my.helloservlet

helloservlet

/download

格式就是这样的:

Servlet的名称(自己起的,不要重复)

Servlet的类路径(xx.xx.xx.xxservlet)

Servlet的名称(与上面的一样)

/url名字(自己起的,不要重复,注意/,不能丢)

这个配置是为了把输入的/url和创建的servlet绑定到一起,意思是我们访问 /url名字 实际上就是在访问这个helloservlet类

PS:MyEclipse(收费的)会在servlet创建好时自动帮你在web.xml中配置好,但是Eclipse并不会,所以需要我们自己配置

二.实现输入QQ号,查询头像的功能

index.jsp:

pageEncoding="UTF-8"%>

Insert title here

输入QQ号

这里action因为之前配置了web.xml,所以download就代表指向helloservlet.java这个文件

这里也可以写成action=helloservlet,是一样的

helloservlet.java ——doGet方法:

在D盘image文件夹下存放头像图片,通过获取参数,然后找到本地图片文件,循环输出给浏览器protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException

{

String qq=request.getParameter("qq");//取得参数

String filename=qq+".png";

//以文件格式下载

/*response.setHeader("Content-Disposition", "attachment;filename="+filename);

response.setContentType("application/octet-stream");*/

//图片png形式下载

response.setContentType("image/png");

response.setCharacterEncoding("UTF-8");

File DirFile=new File("d:/image");

File imageFile=new File(DirFile,filename);

FileInputStream filestream=new FileInputStream(imageFile);

OutputStream streamOut=response.getOutputStream();

byte[] buf=new byte[4096];

while(true) //循环输出

{

int n=filestream.read(buf);

if(n<=0)

break;

streamOut.write(buf,0,n);

streamOut.flush();

}

filestream.close();

streamOut.close();

}

效果如图所示:

输入111,点击查询,返回一个png图片

7b8d9b4595fc83f298ef41797376bde6.png

转载地址:https://blog.csdn.net/weixin_33001305/article/details/114205839 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java 负载均衡 算法_几种简单的负载均衡算法及其Java代码实现
下一篇:java版本号49.0_又是48,49JDK版本不兼容(Unsupported major.minor version 49.0) | 学步园...

发表评论

最新留言

不错!
[***.144.177.141]2024年04月09日 16时12分15秒