http://blog.csdn.net/lyh916/article/category/6208767 http://blog.csdn.net/u011047171/article/category/5579049