http://blog.csdn.net/weiwenhp/article/details/8708281 http://www.cnblogs.com/hujian/archive/2012/12/10/2810776.html