http://blog.csdn.net/hbyzl/article/details/49721061 http://blog.csdn.net/libaineu2004/article/details/17363165