http://blog.163.com/sophie8910@126/blog/static/8304612620122834121264/ http://blog.csdn.net/szstephenzhou/article/details/35550853