Pro JSP 2 - Brown, Simon E. (Simon Brown, Sam Dalton, Daniel Jepp, Dave Johnson, Sing Li, and Matt Raible, 2005)