http://www.cnblogs.com/fangyukuan/category/247067.html http://www.cnblogs.com/zxjay/archive/2010/08/28/1811163.html