http://www.cnblogs.com/wuhenke/archive/2012/03/02/2377652.html http://blog.csdn.net/li_canhui/article/details/7004922