http://www.cnblogs.com/xdp-gacl/p/4264440.html http://blog.csdn.net/jefry_xdz/article/details/8767358