http://www.cnblogs.com/skyme/archive/2010/11/08/1871509.html http://blog.csdn.net/clever101/article/details/9002450