http://www.cnblogs.com/mengdd/archive/2013/02/06/2908241.html http://www.cnblogs.com/mengdd/archive/2013/02/07/2908837.html