有哪些好的做h5的网站,微信群 网站建设,盐城做网站网络公司电话?,网上推广购物平台怎么推广好一.简单介绍JSP隐含对象response实现文件下载(1)在JSP中实现文件下载最简单的方法是定义超链接指向目标资源#xff0c;用户单击超链接后直接下载资源#xff0c;但直接暴露资源的URL也会带来一些负面的影响#xff0c;例如容易被其它网站盗链#xff0c;造成本地服务器下载…一.简单介绍JSP隐含对象response实现文件下载(1)在JSP中实现文件下载最简单的方法是定义超链接指向目标资源用户单击超链接后直接下载资源但直接暴露资源的URL也会带来一些负面的影响例如容易被其它网站盗链造成本地服务器下载负载过重。(2)另外一种下载文件的方法是使用文件输出流实现下载首先通过response报头告知客户端浏览器将接收到的信息另存为一个文件然后用输出流对象给客户端传输文件数据浏览器接收数据完毕后将数据另存为文件这种下载方法的优点是服务器端资源路径的保密性好并可控制下载的流量以及日志登记等。二.两种文件的下载方式(1)二进制文件的下载用JSP程序下载二进制文件的基本原理是首先将源文件封装成字节输入流对象通过该对象读取文件数据获取response对象的字节输出流对象通过输出流对象将二进制的字节数据传送给客户端。1.把源文件封装成字节输入流对象2.读取二进制字节数据并传输给客户端代码如下int status0;byte b[]new byte[1024];FileInputStream innull;ServletOutputStream out2null;try{response.setHeader(content-disposition,attachment; filenamed.zip);innew FileInputStream(c:\\tomcat\\webapps\\ROOT\\d.zip);out2response.getOutputStream();while(status ! -1 ){statusin.read(b);out2.write(b);}out2.flush();}catch(Exception e){System.out.println(e);response.sendRedirect(downError.jsp);}finally{if(in!null)in.close();if(out2 !null)out2.close();}%(2)文本文件下载文本文件下载时用的是字符流而不是字节流。首先取得源文件的字符输入流对象用java.io.FileReader类封装再把FileReader对象封装为java.io.BufferedReader以方便从文本文件中一次读取一行。字符输出流直接用JSP的隐含对象outout能够输出字符数据。代码如下int status0;String tempnull;FileReader innull;BufferedReader in2null;try{response.setHeader(content-disposition,attachment; filenameee.txt);response.setCharacterEncoding(gb2312);innew FileReader(c:\\tomcat\\webapps\\ROOT\\ee.txt);in2new BufferedReader(in);while((tempin2.readLine()) ! null ){out.println(temp);}out.close();}catch(Exception e){System.out.println(e);response.sendRedirect(downError.jsp);}finally{if(in2!null)in2.close();}%希望本文所述对大家学习JSP隐含对象response实现文件下载有所帮助。