http://blog.csdn.net/iterzebra/article/details/6758481
http://blog.sina.com.cn/s/blog_4914a33b0101180r.html
http://www.blogjava.net/standlww/archive/2008/10/17/235100.html