http://blog.csdn.net/csujiangyu/article/details/52071473 http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html