For courses in intermediate or advanced Java. Java for Programmers Intended for students or professionals with previous programming experience, this carefully class-tested book features client and server side Java, and coverage of design patterns and style. The modular organization allows readers and teachers maximum flexibility for learning, reference use, or teaching with tutorial Java language material being discrete from Java Library coverage and usage. The book includes coverage of key intermediate and advanced level topics, such as: Exceptions, Nested classes, threads, networking, design patterns, JDBC networking, JSP, XML, Beans, EJB, EJB Security and AMI. The book also includes optional, advanced, in-depth API and server side Java coverage.