http://www.cnblogs.com/allenblogs/archive/2011/05/19/2051136.html http://blog.csdn.net/liuyanfeier/article/details/62422742