http://blog.163.com/jiaqiang_wang/blog/static/1188961532009924111934698/ http://blog.csdn.net/limingshandian/article/details/7888799