http://blog.csdn.net/cxllyg/article/details/7520037 http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html