http://www.cnblogs.com/hoojo/archive/2012/05/17/2506769.html http://blog.csdn.net/ares1201/article/details/7737872 http://www.blogjava.net/yi88han/archive/2009/02/11/254203.html