文件下载 (java)自己的一些总结
package com.down.servlet;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class DownServlet
*/
public class DownServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public DownServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
File downFile = new File ("c:\\OriRevision.doc");
InputStream is = new FileInputStream(downFile);
response.setContentType("text/plain;charset=UTF-8");
response.setBufferSize(100 * 1024);
BufferedInputStream bufInputStream = null;
response.setHeader("Cache-Control", "public");
ServletOutputStream os = response.getOutputStream();
//设置现在word正文的相关信息
response.setHeader("Content-Disposition", "inline; filename="+ URLEncoder.encode("test.doc", "UTF-8"));
if(is != null){
byte[] b = new byte[10240];
int index = 0;
os = response.getOutputStream();
bufInputStream = new BufferedInputStream(is);
while((index = bufInputStream.read(b)) != -1){
os.write(b, 0, index);
}
response.flushBuffer();
}
}
}
相关文档:
过滤器Filter也具有生命周期:init()->doFilter()->destroy(),由部署文件中的filter元素驱动。在servlet2.4中,过滤器同样可以用于请求分派器,但须在web.xml中声明,<dispatcher>INCLUDE或FORWARD或REQUEST或ERROR</dispatcher>该元素位于filter-mapping中。
一、批量设置请求编码
Java代码
publ ......
现在常用的开源数据连接池主要有c3p0,dbcp和proxool三种,其中:
¨ hibernate开发组推荐使用c3p0;
¨ spring开发组推荐使用dbcp (dbcp连接池有weblogic连接池同样的问题,就是强行关闭连接或数据库重启后,无 ......
JAVA内存泄漏,走开!
2005年09月13日 作者:Staffan Larsen;glorywine 责任编辑:moningfeng
url:http://pcedu.pconline.com.cn/empolder/gj/java/0509/699218_1.html
原文地址:
http://dev2dev.bea.com/pub/a/2005/06/memory_leaks.html
中文地址:
http://www.matrix.org.cn/resource/article/43/ ......
Java IO的一般使用原则:
一、按数据来源(去向)分类:
1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter
2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream
3、是Char[]: CharArrayReader, CharArrayWriter
4、是String: StringBufferInputStream, StringReader, StringWriter
5、 ......
这都是我学习JAVA亲身经历的心得,今天花了一个多小时总结出来希望对大家有一定的帮助。如果如总结不妥,请指出和批评!为学习JAVA的初学者铺条学习JAVA的道路
首先大家要明确一点,外面招聘JAVA的,主要是指的J2EE,也就是BS结构(浏览器和服务器结构)JAVA的之所以火起来真是因为BS结构,并不在CS结构,所以那种大型网游 ......