http://www.cnblogs.com/dolphinX/p/3286177.htm http://www.cnblogs.com/sanshi/archive/2009/07/08/1519036.htmll