http://www.blogjava.net/zhutianxiang/archive/2009/03/05/258085.html
http://blog.csdn.net/zhutianxiang/archive/2009/10/30/4746839.aspx
http://floger.javaeye.com/blog/346367http://www.blogjava.net/liu0909/archive/2009/07/21/287728.html
http://davepkxxx.javaeye.com/blog/221317