http://www.cnblogs.com/venow/archive/2012/10/16/2726576.html http://devbean.blog.51cto.com/448512/d-8