http://blog.csdn.net/zhaocj/article/details/52747924 http://blog.csdn.net/dlphay/article/details/78864966