http://blog.csdn.net/fw0124/article/details/6672522 http://www.cnblogs.com/dolphin0520/p/3923167.html