Advanced Internet Programming - Servlets 31242/32549/ Java EEAdvanced Internet Programming INFO: What's New FAQ Software Machines Oracle Assignments MODULES: 00 Admin 01 Intro 02 Architecture 03 Servlets 04 JSP 05 JDBC 06 RMI 06 JNDI 07 EJB 08 XML 08 Web Services 09 Security 10 Transactions 11 Legacy 12 Review 99 Design LINKS: START page Faculty of IT UTS Module: Servlets Resources Lecture slides (print) Lab exercise - Hello World servlet Lab exercise - Counter servlet (illustrating threading issues) Lab exercise - Form parameters (accessing HTML form field values in a servlet) Lab exercise - HTTP Sessions (maintaining state information between requests) Tutorial - accessing relative resources Tutorial - creating WAR files manually Abstract Learning objectives References Lab Answers Abstract Servlets are one of the two main mechanisms for using Java to build the presentation logic of an application (the other is JSP). Servlets execute as part of a web server, and can access application servers in the enterprise and deliver the user interface to clients using HTML/CSS/JavaScript. This module introduces the coding and deployment of servlets in a Java EE environment. Learning Objectives On completion of this module, students should be able to: Understand what servlets are and when they are used; Describe the servlet lifecycle; Describe the general functions of the most important classes/interfaces: GenericServlet, HttpServlet, HttpRequest, HttpResponse; Know the steps in writing and deploying a simple servlet; Be familiar with issues relating to session management, cookies, filters, synchronisation, packaging and deployment. References Main references Chapter 3, Java Servlets in: Farley, J., et al. Java Enterprise in a Nutshell 3rd ed.. O'Reilly Nov 2005. ISBN 0-596-10142-2. Week 2, Day 12 in: Bond, M., et al. Teach Yourself J2EE in 21 Days. 2nd ed. Sams Publishing, 2004. ISBN 0-672-32558-6. Chapters 5, 6, 7, 8 and 9 in: Allamaraju, S. et al. Professional Java Server Programming: J2EE 1.3 Edition. Wrox Press Inc, Sept 2001. ISBN 1-861005-37-7. Chapter 3 in: Girdley, M., Wollen, R. and Emerson, S.L. J2EE� 2 Applications and BEA� WebLogic Server�. Prentice Hall 2002. ISBN 0-13-091111-9 Chapter 32 in: Perrone, Paul J. and Chaganti, Venkata S.R.K.R. Building Java Enterprise Systems with J2EE. Sams Publishing, 2000. Paperback edition - 1500 pages book & CD-ROM. ISBN 0672317958. (June 7, 2000 edition) Chapter 4 in: Nicholas Kassem and Enterprise Team. Designing Enterprise Applications with the Java 2 Platform, Enterprise Edition. Addison-Wesley, 2000. ISBN 0201702770. (also known as "J2EE Blueprints") [Internet] Local copy [PDF, 5.5MB] Sun Microsystems. Java Servlet Technology. (especially Java Servlet Specification 2.3 or 2.4) [Internet] http://java.sun.com/products/servlet/ Sun Microsystems. Java Servlet Specification, v2.3. [Local copy, PDF, 1.3MB] Other references Brogden, B. Java Developer's Guide to Servlets and JSP. Sybex Inc. ISBN 0-7821-2809-2, 2001. Deitel, H.M. and Deitel, P.J. Java How To Program, Third Edition. Prentice-Hall. ISBN 0-13-012507-5, 1999. Hall, M. and Brown, L. Core Servlets and JavaServer Pages. 2nd edition. Prentice Hall PTR. ISBN 0130092290, August 2003. First edition of this book is available for free online at the URL below. http://www.coreservlets.com/ Bergsten, H. "An Introduction to Java Servlets". Web Developer's Journal. [Internet], 10 March 1999. http://webdevelopersjournal.com/articles/intro_to_servlets.html Java Hub (many articles). Web Developer's Journal. [Internet] http://webdevelopersjournal.com/hubs/javahub.html Sun Microsystems. Java Servlet Technology Documentation. [Internet] http://java.sun.com/products/servlet/docs.html BEA Systems. "Programming WebLogic HTTP Servlets", in WebLogic Server 10 Documentation. [Internet] http://e-docs.bea.com/wls/docs100/servlet/ Sun Microsystems. JavaDoc documentation for servlets. [Internet] http://java.sun.com/products/servlet/2.3/javadoc/ © 2008 University of Technology, Sydney. All Rights Reserved. Redistribution without permission prohibited. Last Modified: