Homework 4
CS520, Spring 2008
Due: Thursday, May 1
Package all the source files of your project into a zip file using the zip Ant target you
developed in Homework 1, and
upload the zip file to CSNS.
Note that file
uploading will be disabled automatically after 11:59PM
of the due date, so please turn in your work on time.
[Reading]
- Spring Book (Professional
Java Development with the Spring Framework)
- Chapter 1-2, 4, and 12.
- Chapter 5.1 (The DAO Pattern),
6, and 7 (Background, ORM Support, Hibernate).
- Display
Tag Library
- CSNS Source Code
- DAO classes, controllers, and JSP pages
that use Displaytag.
[Bulletin Board for CSNS]
For this assignment, complete the following features of the
CSNS bulletin board described in Homework 3:
- (25pt) Display all the forums. The general forums should be listed
first, followed by the course forums. And for each forum, display the
forum name, number of topics and posts, and the username and the
timestamp of the last post. See the ACM forums page for example.
- (25pt) Display all the topics in a forum. For each topic, display
the topic name, author, number of replies and views, and the username
and the timestamp of the last post. The topics should be ordered by the
time of creation, with the most recently created topic first. Paging
display must be implemented with 5 topics per page. See the CS520 forum page for example.
- (30pt) Create new topic. Validation must be in place to
ensure that a user cannot create a topic with no subject or content.
You do not need to implement file attachment for this assignment.
Note that a feature must be functional in order to receive any credit at all.
[Extra Credit] (Up to 20pt)
Listing all 200 course forums on the forums page make it rather
difficult for a user to find the forum he or she is interested in. Come
up with a better user interface design to solve this problem. Note that
you won't receive any extra credit if you simply use paging for the
forums page.
[Subversion]
Before submitting your work, commit all the changes to your
Subversion repository, and
create a tag called cs520-hw4.