http://blog.csdn.net/u011007180/article/category/6394993 http://www.cnblogs.com/jcchoiling/p/6440709.html#3809525