CMSC691D Java Server Technologies
Spring 2001
Project 2
Mutual Fund Company JSP Project
Due Date: April 23, 2001
Project Description
In this project, you will be
implementing a web-based interface to a customer's mutual fund account using
Java Server Pages. To access the user's account information, a two-step login
procedure is to be used. First, a form asking for the user's account number is
displayed Once the customer's account number is verified, a second form asking
for additional validation information is displayed. If the additional
information is valid, then the account information is displayed.
Project Requirements
Your project should be an appropriate
combination of Java Server Pages and Javabeans along the following lines:
- Login JSP
If invoked without a customer account number
parameter present, this JSP displays the form prompting for the account
number. If invoked with an account number parameter, it instantiates a
CustomerInfo Bean and sets the supplied account number in the bean. It then
forwards the request to the ValidAccount JSP.
- ValidAccount JSP
This JSP instantiates a ValidAccounts Bean
which has a list of valid account numbers. The ValidAccounts Bean is used to
validate the account number. The account number is extracted from the
CustomerInfo Bean and if valid, the request is forwarded to the Login2 JSP.
Otherwise, a suitable error page is returned.
- Login2 JSP
If invoked with no parameters, this JSP displays the
second page of the two-step login process, prompting for additional validation
information, such as PIN number, password, mother's maiden name, etc. Please
use at least two items of additional information for validation. If invoked
with validation parameters, this JSP saves the validation parameters in the
CustomerInfo Bean and then forwards the request to the VerifyInfo JSP.
- VerifyInfo JSP
This JSP instantiates an AccountManager Bean
which can access a customer's profile and account information given the
account number. The account number is extracted from the CustomerInfo Bean and
a a CustomerProfile Bean is obtained from the AccountManager Bean. The data in
the CustomerProfile Bean is compared to the validation data in the
CustomerInfo Bean. If valid, the request is forwarded to the DisplayAccount
JSP. Otherwise, appropriate error pages are returned.
- DisplayAccount JSP
This JSP extracts the account number from
the CustomerInfo Bean and obtains an AccountSummary Bean from the
AccountManager Bean. The infomation in the AccountSummary Bean is then
displayed in a nice HTML table.
- ValidAccounts Bean
This bean holds a list of valid account
numbers. In real life, this list would probably come from a database, but for
the purposes of this project, simply hardcode the list of valid account
numbers in the bean itself. This bean has a method to verify if an account
number is valid:
- boolean contains(accountNumber)
- AcccountManager Bean
This bean provides a means to access
information about a customer and their accounts. In real life, this
information would probably come from a database, but for the purposes of this
project, simply hardcode information for two or three customers in the bean
itself. This bean has a method to get a CustomerProfile Bean which has
infomation about the customer such as their name, address, PIN, password,
etc.:
- CustomerProfileBean getCustomerProfile(accountNumber)
It also
has a method to get detailed infomation about a customer's account:
- AccountSummaryBean getAccountSummary(accountNumber)
- AcccountSummary Bean
This bean maintains details about a
customers's mutual funds account, such as fund name, shares owned, current
share price and current market value.
- CustomerProfile Bean
This bean maintains infomation about the
customer such as name, address, PIN, password, etc.
- CustomerInfo Bean
This bean maintains infomation about the
customer that the customer entered into the web forms while attempting to
access their account.
Your project should include the following JSP
elements:
- The JSP include directive to include appropirate headers and footers to
the web pages for your Mutual Fund Company.
- The JSP page directive to set up the overall structure of the generated
servlets.
- At least one custom tag.
Project Grading
Your project will be graded according to
the following criteria:
- Program Correctness - 70%
- The program has all of the required elements.
- The program performs all of its required functions properly.
- The program has no bugs.
- The program handles appropriate error conditions properly.
- The program operates with reasonable efficiency.
- Proper use of JSP conventions - 10%
- Nifty features you added that really impressed me - 10%
- Coding Style - 10%
- Good, professional documentation.
- Good readability and understandability.
- Proper use of indentation to highlight function flow control.
- Proper use of blank lines to highlight distinct sections of a method.
As in all your work, NO COPYING OR PLAGIARISM. If such is detected, no credit
for the project will be given and appropriate actions for academic dishonesty
will be taken.
Project Submission
You must submit the following:
- All source files.
- All class files.
- Any makefiles.
Submit all of the above using the submit program.
To submit, you type submit cs691y project2 <filenamelist>
where filenamelist is a list of one or more files. You can submit a file
as often as you like; the latest file submitted overwrites any previous
submissions. To list the names of the files you have submitted, type submitls cs691y project2
To remove a previously submitted file, type submitrm cs691y project2 <filename>
Project Due Date
This project is due April 23, 2001. You
have a one week, automatic, no-need-for-a-lame-excuse grace period.
No project will be accepted after April 30, 2001. NO EXCEPTIONS! NO
EXCUSES!