http://www.cnblogs.com/pmer/category/528430.html http://wenku.baidu.com/view/40f60ec74028915f804dc2d7.html