http://blog.csdn.net/shanghui815/article/details/6406941 http://blog.csdn.net/cdl2008sky/article/details/6576355