http://www.cnblogs.com/yuerdongni/archive/2012/09/08/2676748.htmlhttp://www.cnblogs.com/yuerdongni/archive/2012/09/04/2671095.html