http://blog.csdn.net/yueue/archive/2009/04/14/4074155.aspx http://dev.firnow.com/course/3_program/java/javajs/20081211/153186.html