This assignment has three parts: combining the applets for Project Assignment II with the servlets for Project Assignment III, implementing secure data transmission via SSL protocol, and finishing up and testing your web site. The second part is very easy to implement (you just use https instead of http), so you should allocate most time for the first part and for testing. In the end of this assignment your web site should be pretty much completed and ready for testing by others.
Your applets will reside in your project account on puma (in public_html directory). Applets in a browser are invoked from an HTML page. There are two ways of using HTML pages: they can be non-changing pages stored on puma in the same directory as the applets, or they can be dynamically generated by servlets. The advantage of the second approach is that the HTML page can pass a parameter to the applet, and since the page is generated dynamically, the value of the parameter will be different for different applet invocations. The lecture notes give examples of both methods.
You most probably will need the second method to pass information from the shopping cart servlet to the order form applet, but you can use the first method to incorporate applets that don't require parameter passing (s.a. a feedback form).
chmod a+r *.html
chmod a+rx *.class chmod a+rx mckoidb.jar
Feedback and other forms. Incorporate into your web site all other applets that you have written for Project Assignment 2. If an applet requires a parameter, use the same mechanism as for the order form. If it doesn't, you may use a simpler mechanism in the first example in the lecture notes.
<to be continued>
Assessment of web site's security In addition to secure data transmission, please make sure that your web site doesn't allow a user to access another user's personal information. Please make a list of security mechanisms that you use: does personal data get displayed on the web site? If yes, can a user access it without a password? If order information is displayed, can a user access it by name, by user ID, or by order number? Are IDs and order numbers randomly generated to make them hard to guess?
If you discover a security flaw, even if you don't have time to fix it, please explain what it is and how it can be fixed.
The structure of the web site. Make sure that every page clearly indicates what the user should do: the search buttons and links to other pages are self-explanatory, the link to the shopping cart and/or to checkout is visible on every page, forms clearly name all fields and show which fields are mandatory, the user knows which button(s) to click when she/he is done filling in the form, and so on.
You might need to rearrange the pages to make them more customer-friendly. If you need to make changes, make sure to discuss them with your project teammates first!
The functionality of the web site. Make sure that all the necessary information is stored in the database and is retrieved successfully when needed. Check what happens if you update prices or add another product, if the user decides in the middle of filling an order form that he/she doesn't want to buy the product, etc.
The appearance of the web site. Make sure that all the pages are in the same style, that fonts are visible on the background, etc. You might need to adjust appearance of the applets to fit your general style.