http://blog.csdn.net/stellaah/article/details/6738424 http://www.cnblogs.com/zhangzongle/p/5425843.html