1 NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department COURSE: CST4713 – Dynamic Web Development: Servlets and JSP (2 class hours, 2 lab hours, 3 credits) Course Description: This course introduces students to the role of Servlets and Java Server Pages (JSP). It provides instruction in building web pages dynamically, organizing projects into web applications, and deploying these applications using a web server, such as Apache Tomcat. The course presents role of Servlets as middleware in an N-tiered design structure (acting as a middle layer between requests coming from Web browsers or other HTTP clients and databases or applications on the HTTP server). The conceptual frameworks of the Servlet life cycle, handling client requests, generating server responses, handling cookies, session tracking, the proper uses of JSPs, and the integration of Servlets and JSPs using the MVC (model-view-controller) architecture are all discussed. Hands-on laboratory exercises reinforce the material presented in the lectures and enable students to develop related programming skills. Course Objectives: Upon successful completion of the course, the student should be able to: 1. Demonstrate understanding of the role of Servlets and JSP in web application development. 2. Install, configure, and use Tomcat and Eclipse for Servlet and JSP development and deployment. 3. Describe the Servlet life cycle. 4. Demonstrate understanding of dealing with form data from client requests. 5. Demonstrate understanding of various HTTP request headers, and how to access them from a client request. 6. Demonstrate understanding of the meaning, format, and means of setting HTTP response codes. 7. Demonstrate understanding of the meaning, format, and means of setting HTTP response headers. 8. Demonstrate understanding of how to send and receive cookies, their benefits and drawbacks, and differences between session and persistent cookies. 9. Demonstrate understanding of the various elements of session tracking and the Java session tracking API. 10. Demonstrate understanding of the syntax and utility of Java Server Pages (JSP). 11. Demonstrate understanding of invoking Java code with JSP scripting elements. 12. Demonstrate understanding of controlling the structure of Servlets generated from JSP. 13. Demonstrate understanding of including files and applets in web pages using JSP. 14. Use JavaBeans components in JSP documents. 15. Integrate Servlets and JSP using the Model View Controller (MVC) Architecture. 2 General Education Outcomes: •SKILLS/Inquiry/Analysis: Students will employ scientific reasoning and logical thinking. •SKILLS/Communication: Students will communicate in diverse settings and groups, using written (both reading and writing), oral (both speaking and listening), and visual means •VALUES, ETHICS, RELATIONSHIPS / Professional/Personal Development: Students will work with teams, including those of diverse composition. Build consensus. Respect and use creativity. Prerequisite: Completion of CS3613 with a grade of C or better. Required Materials: Text: Core Servlets and Java Server Pages, Marty Hall and Larry Brown, Second Edition, Sun Microsystems Press, 2004, ISBN: 0-13-009229-0 FREE ONLINE PDF VERSION -- http://pdf.coreservlets.com/ Students are required to have a USB storage device for class projects. And to bring it with them to EVERY class session. Attendance Policy: Attendance – Attendance is expected at every class meeting. College policy sets the maximum number of permissible absences at 10% of the number of class meetings scheduled for the semester. If the class is meeting two times per week, you are permitted to be absent a total of three class sessions; if the class meets only once per week, you are permitted to miss one and one-half of the class meetings. Academic Integrity Policy: Students and all others who work with information, ideas, texts, images, music, inventions, and other intellectual property owe their audience and sources accuracy and honesty in using, crediting, and citing sources. As a community of intellectual and professional workers, the College recognizes its responsibility for providing instruction in information literacy and academic integrity, offering models of good practice, and responding vigilantly and appropriately to infractions of academic integrity. Accordingly, academic dishonesty is prohibited in The City University of New York and at New York City College of Technology and is punishable by penalties, including failing grades, suspension, and expulsion. The complete text of the College policy on Academic Integrity may be found in the catalog. Grading Procedure: Final 30% Midterm 30% 3 Quizes 10% Assignments 25% Class Participation 5% ===== TOTAL 100% Letter Grade A A- B+ B B- C+ C D F Numerical Grade 93- 100 90- 92.9 87- 89.9 83- 86.9 80- 82.9 77- 79.9 70- 76.9 60- 69.9 <=59.9 Course Outline: Week Topic Chapter 1 Overview of Servlet and JSP Technology Installation of Java 6 EE, Tomcat and Eclipse (http://www.coreservlets.com/Apache-Tomcat- Tutorial/tomcat-7-with-eclipse.html ) Servlet Basics 1 and 3 2, 3 Handling the Client Request: Form Data 4 3, 4 Handling the Client Request: HTTP Request Headers Generating the Server Response: HTTP Status Codes 5 and 6 5 Generating the Server Response: HTTP Response Headers 7 6 Handling Cookies 8 7 Session Tracking 9 8 Review and Midterm Exam 9 Overview of JSP Technology 10 10 Invoking Java Code with JSP Scripting Elements 11 11 Controlling the Structure of Generated Servlets: the JSP page Directive Including Files and Applets in JSP Pages 12 and 13 12 Using JavaBeans Components in JSP Documents 14 13 Integrating Servlets and JSP: The Model View Controller (MVC) Architecture 15 14 Accessing Databases with JDBC (optional) 17 4 15 Final Exam Assessment criteria: For the successful completion of this course a student should be able to: Evaluation methods and criteria 1. Demonstrate understanding of the role of Servlets and JSP in web application development. 1. Students will demonstrate on homework and exams their proper understanding of the role of Servlets and JSP in web application development. 2. Install, configure, and use Tomcat and Eclipse for Servlet and JSP development and deployment. 2. Students will demonstrate on homework and exams how familiar they are with installation, configuration and deployment issues. 3. Describe the Servlet life cycle. 3. Students will demonstrate on exams and homework projects their understanding of the Servlet life cycle. 4. Demonstrate understanding of dealing with form data from client requests. 4. Students will demonstrate on homework projects, lab exercises and exams their ability to write Servlet programs which deal with form data from client requests. 5. Demonstrate understanding of various HTTP request headers, and how to access them from a client request. 5. Students will demonstrate on homework projects, lab exercises and exams their ability to write Servlet programs which make use of various HTTP request headers. 6. Demonstrate understanding of the meaning, format, and means of setting HTTP response codes. 6. Students will demonstrate on homework projects, lab exercises and exams their ability to write Servlet programs which set HTTP response codes in an appropriate fashion. 7. Demonstrate understanding of the meaning, format, and means of setting HTTP response headers. 7. Students will demonstrate on homework projects, lab exercises and exams their ability to write Servlet programs which set HTTP response headers in an appropriate fashion. 8. Demonstrate understanding of how to send and receive cookies, their benefits and drawbacks, and differences between session and persistent cookies. 8. Students will demonstrate on homework projects, lab exercises and exams their ability to write Servlet programs which make use of cookies in various ways. 9. Demonstrate understanding of the various elements of session tracking and the Java session tracking API. 9. Students will demonstrate on homework projects, lab exercises and exams their ability to write Servlet programs whichmake 5 use of session tracking. 10. Demonstrate understanding of invoking Java code with JSP scripting elements. 10. Students will demonstrate on homework projects and exams their ability to invoke Java code with JSP scripting elements. 11. Demonstrate understanding of controlling the structure of Servlets generated from JSP. 11. Students will demonstrate on homework projects, lab exercises and exams their ability to controlling the structure of Servlets generated from JSP. 12. Demonstrate understanding of including files and applets in web pages using JSP. 12. Students will demonstrate on homework projects, lab exercises and exams their ability to include files and applets in web pages using JSP. . 13. Use JavaBeans components in JSP documents. 13. Students will demonstrate on homework projects, lab exercises and exams their ability to use JavaBeans components in JSP documents. 14. Integrate Servlets and JSP using the Model View Controller (MVC) Architecture. 14. Students will demonstrate on homework projects, lab exercises and exams their ability to integrate Servlets and JSP. General Education Outcomes and Assessment: Learning Outcomes Assessment Method SKILLS/Inquiry/Analysis Students will employ scientific reasoning and logical thinking. Group programming project involving analysis of a problem/task, development of use cases, requirements specifications, functional and performance testing. SKILLS/Communication Students will communicate in diverse settings and groups, using written (both reading and writing), oral (both speaking and listening), and visual means Documentation and written reports detailing the analysis and experimental results from the above project. VALUES, ETHICS, RELATIONSHIPS / Professional/Personal Developme nt Students will work with teams, including those of diverse composition. Build consensus. Respect and use creativity. As stated, the term project will be collaborative. Students are assigned groups that contain members of varying skill sets and levels. This leads to experience organizing group dynamics and making managerial decisions. Additionally, assigned groups ensure that they will work outside of their social group.