Client/Server Programming -- Week 15

Review for Final Exam

The following topics are likely to be on the final exam:

Everything from the midterm -- While there will not be detail oriented questions, you should understand the concepts, and the advantages/disadvantages of the various techniques that we covered.

HTML -- You should be able to compose a basic HTML page

Servlets -- You should understand what a servlet is, and be able to draw the architecture diagram for a servlet (from web-browser to servlet).  You should understand what a web application is, and how it relates to servlets and JSPs.  You should understand how to pass values from the web browser to the servlet using HTML forms (you may be given an HTML page and a servlet and asked what the output is when the user clicks submit).  You should understand what a session represents.  You should understand what a cookie is, and what URL rewriting is, and how a servlet manages a session using both.  You should be able to read servlet code that uses sessions.   You should understand what advantages a template engine provides for servlets.

Java Server Pages -- You should be able to describe the differences between servlets and JSPs.  You should be able to read JSP code and understand what would be output to the user.  You should understand variable scope in a JSP, and how conditionals and looping can be extended through sections of HTML code.  You should know the printing shortcut, and how to define data members/private methods.  You should understand the purpose of using custom tag libraries, and how to read their code to know what would be output to the client (you may be given the code for a JSP and for custom tag libraries and asked what is output).

JavaScript -- You should understand that JavaScript is used for client/side scripting.   You may be given a set of tasks, and asked to identify whether JavaScript or JSP is best for each task.

Synchronization -- Since proper synchronization is important for both servlets and JSPs, you  may be given code and asked to mark where synchronization should happen and on what object.