http://sillyge.blog.163.com/blog/static/1769642082011043547773/ http://blog.csdn.net/ls_man/article/details/16959615