http://blog.csdn.net/zhandoushi1982/archive/2010/02/22/5316669.aspx http://blog.csdn.net/chief1985/archive/2009/10/19/4699831.aspx