This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
There is one ServletContext per application so yes attributes of this object are avaliable application-wide. The Session object is bound to a particular session id and so is avaliable only to a particular client session.