Note: This course ended on December 16, 2003

CPSC 371: Topics in Computer Science:
Server-side Java with JSP, Servlets, and Struts

   Department of Mathematics and Computer Science
   Hobart and William Smith Colleges

   Fall, 2003.

   Instructor:  David J. Eck  (

   Monday, Wednesday, Friday, 1:55--2:50 PM.
         Room Lansing 300.

   Course Handout:

Some Links

Information about CS 371
will be posted each week as the course is taught
during the Fall term of 2003.

End of Term, December 1 through 16

As we approach the end of the term, I will be lecturing on a few advanced topics, such as Enterprise Java Beans, on December 1 and 3. The next three classes, December 5, 8, and 10, will be devoted to student presentations. Remember that attendance is required at these presentations.

The final exam for the course is scheduled for 7:00 PM on Tuesday, December 16. This will be a cumulative final exams which might include a few questions about material covered in the last two weeks of class. This final exam is optional and will not hurt your grade if you take it. If you know that you will not be taking the final exam, please let me know so that I will not have to print a copy of the exam for you.

End of term office hours:

Projects must be turned in by 3:00 on Tuesday.

Twelfth and Thirteenth Weeks, November 17, 19, 21, and 24.

There is a test on Wednesday, November 19. An information sheet is available. We will have one final lab on Friday, November 21, which will be graded in lab at the end of class.

There is no class on November 26 or 28 because of Thanksgiving break. On Monday the 24th, I will talk about DynaForms and the Validator, Chapter 17 in Struts Kick Start.

Lab Worksheet for November 21.
(Lab postponed to Monday, November 24
because of network outage.)

Eleventh Week, November 10, 12, and 14.

We continue our look at Struts this week. You should look at Chapters 7, 8, and 9 in Struts Kick Start. Note that we are not interested in the particular application that is used as an example in these sections, and you are not required to read in detail the many long sections of code.

You should also be working on your group projects. A description of the project assignments was handed out in class.

There is no lab this week. We will have one final lab next week.

Tenth Week, November 3, 5, and 7.

This week, we begin our look at Struts, a framework for Web applications. You should read Chapter 1 and Chapter 6 in Struts Kick Start. You might want to look at Chapter 5, which mostly reviews material we have already covered. Chapters 2 and 4 were assigned previously as reading. Chapter 3 covers a sample Struts application, but it's hard to follow if you don't already know about Struts, so I don't recommend reading it at this point.

Lab Worksheet for November 7.

Ninth Week, October 27, 29, and 31.

This week, we will discuss term projects and group projects. We'll also be looking as custom JSP tags. Chapter 9 of Murach covers the programming as well as the use of custom tags. We will probably do little or nothing with programming, but it is important to understand what custom tags are and how they are used -- especially since they are used extensively in Struts.

Lab Worksheet for October 31.

Eighth Week, October 20, 22, and 24.

The reading for this week in Chapter 14 of Murach, on container-managed security in Tomcat. There will be a lab on Friday in the library, and you will be implementing this type of security for your own server during the lab.

Lab Worksheet for October 24.

Seventh Week, October 15 and 17.

The reading for the week is Chapters 10 and 11 on MySQL and JDBC.

There is no class on Monday because of Fall Break. On Friday, we will have lab in the multimedia lab. Here is the

Lab Worksheet for 17 October

From now on, we will be in lab every Friday, except for the last week of the term.

Sixth Week, October 6, 8, and 10.

There is a test on Wednesday of this week. An information sheet for the test is available.

The reading for the week is Chapter 8 of Murach. After Fall break, we will be departing a bit from the schedule that was given in the course handout. We will skip chapter 9 of Murach and go directly to chapters 10 and 11 on databases, JDBC, and MySQL. This will allow us to make better Java web sites. We will return to Chapter 9 later.

Fifth Week, September 29; October 1 and 3.

We will continue discussing the HTTP protocol, cookies, and sessions this week. We should also go back and look at some uses of the web.xml configuration file (a topic from Murach, Chapter 6, that we have not yet covered in class).

The reading for the week is Chapter 5 of Struts Kickstart and Chapter 7 of Murach's Java Servlets and JSP.

The lab, which was supposed to be due on Wednesday of this week, can be turned in on Friday instead.

Fourth Week, September 22, 24, and 25.

The theme for the week is Web applications and how they can be structured as a collection of JSPs, servlets, and other resources such as data files. The reading for the week is Chapter 2 of Struts Kickstart and Chapter 6 of Murach's Java Servlets and JSP.

This Wednesday, we will meet in the Libray Multimedia Classroom for a lab. This lab is also the beginning of an assignment that is due next Wednesday. A lab worksheet is available.

Third Week, September 15, 17, and 19.

The reading for the week includes Chapters 4 and 5 from Murach's Java Servlets and JSP, which cover the basics of JSP and servlets. Once we have the basics out of the way, we will move on to assemble JSPs and servlets into larger-scale web applications.

Second Week, September 8, 10, and 12.

Towards the end of this week, we will begin talking more seriously about JSP. However, we will start off by covering/reviewing some of the basic facts about Java and HTML that will be needed in this course. If you do not already know how to use forms and tables in HTML, you should read Chapter 3 of Murach's Java Servlets and JSP. In any case, you should start reading Chapter 4 in that book.

First Week, September 1, 3, and 5.

This week is an introduction to the ideas of Java server-side programming, web applications, and the Tomcat server. The reading for the week is Chapters 1 and 2 of Murach.

On Friday, we will meet in the Library Multimedia Lab. The goal will be to get Tomcat up and running and to install your first servlet and your first JSP on it. There is an optional pre-lab that should be completed before the lab if you want to run the server on your own computer. And there is a worksheet for the lab itself:

Pre-lab for Lab 1

Lab 1 worksheet