转自:http://bvu.javaeye.com/blog/315323 与 http://www.cnblogs.com/shinings/archive/2008/10/12/1309455.html