JBuilder2005 Servlet开发之下载型(二)

2014-11-23 21:43:28 · 作者: · 浏览: 19
7.
38.   FileInputStream fis = new FileInputStream(file);
39.   BufferedInputStream fbis = new BufferedInputStream(fis);
40.   byte abyte0[] = new byte[1024];
41.   int k = 0;
42.   OutputStream out = response.getOutputStream();
43.   while ( (long) k < file.length())
44.   {
45.    int j = fbis.read(abyte0, 0, 1024);
46.    k += j;
47.    out.write(abyte0, 0, j);
48.   }
49.   out.flush();
50.  }
51.  …
52. }
   第32行通过URL参数的值得到日志文件名,34~36行指定响应头信息,以便客户端以弹出对话框的形式下载日志文件,38~49行将日志文件的内容写到响应输出流中。

   改造welcome.jsp

   至此,下载日志文件的Servlet已经开发完毕,现在,我们需要在welcome.jsp页面中添加一个访问ExcelFileServlet的链接。

   在welcome.jsp中添加以下粗体的代码,如下所示:

   代码清单 11 添加下载日志链接后的welcome.jsp

1. <%@page contentType="text/html; charset=GBK"%>
2. <%@taglib uri="http://jakarta.apache.org/taglibs/datetime-1.0" prefix="dt"%>
3. …
4. 现在的时间是<dt:format pattern="MM/dd/yyyy hh:mm"><dt:currentTime/></dt:format>
5. <br><a href="/webModule/excelfileservlet year=2005&month=1">下载系统启动日志</a>
6. <br>点击<a href="quit.jsp">这里</a>退出系统
7. </body>
8. </html>

   为了简单起见,年份和月份的URL参数使用固定的值,在实际应用场合,这两个数据可能来自于网页表单的数据 组件