http://blog.csdn.net/liusaoyue/article/details/5050718 http://blog.csdn.net/jnu_kinke/article/details/30094421