CGS4825 Section 02
Web Site Construction and Management
Spring 2021

[an error occurred while processing this directive]
Exams Assignments
  Exam 1 Exam 2 Exam 3 Final Exam 6 Exercises Project
% of Grade 10% 18% 18% 25% 1.5% each 20%
Dates 9/27 10/25 11/29 Monday 12/11 To Be Announced 12/6
Text
I will provide a web site for course material.
A copy of the notes can be purchased at the Copy Center in the Graham Center for less than $30.
On-line References
HTML Reference
Apache Reference
Tomcat Reference
CSS 1 Reference
CSS 2 Reference
Java API
Java Servlet API
Java Servlet Http API
Room and Time
ECS 145 MW 6:25-7:40

[an error occurred while processing this directive]

Exercises These will be implementations of examples that are covered in the book or on the web site. There is no partial credit for these; they either work or they don't. You may work with other students to implement the examples, but every student must implement each exercise.

Project The project will be due the last day of regular class (not the day of the final). It will incorporate all of the techniques from the course. The details of the project will be provided as the semester progresses. The project will be a web site that implements all of the techiques that have been covered in the course. Working Together on the Final Project is NOT ALLOWED. There is a large difference between discussing general aspects of the course and discussing specific aspects of an assignment. Do not discuss your solution of a problem with others. Assignments that are too similar will not be graded and each student will lose a letter grade in the class.

Attendance I recommend that you attend every class. Those who attend class have a better chance of passing the course.

Late Assignment Policy Assignments may be submitted, with penalty, up to one day late. After that time, they will not be accepted. A late assignment will lose 10% if it is submitted within 6 hours of the due time. It will lose an additional 10% for each additional period of 6 hours.

Working Together on the Final Project is NOT ALLOWED. There is a large difference between discussing general aspects of the course and discussing specific aspects of an assignment. Do not discuss your solution of a problem with others. Assignments that are too similar will not be graded and each student will lose a letter grade in the class.

Prerequisites

Things you should already know

Course Content

  1. Accessing School Resources
    1. FTP
    2. Telnet
    3. MySQL
    4. Uploading HW
    5. Mailing List
  2. Simple HTML
    1. HTML - basic codes, anchors, paragraphs, and line breaks
  3. Configuring a web server
    1. Configuring and starting the Apache server
    2. TCP/IP, IP addresses, Domain Names, MIME, Daemons
    3. Creating a Web site on ocelot
  4. Tomcat
    1. Access Restriction
    2. web.xml
    3. Web Application
  5. Simple JSP
    1. Configuring the Apache server with Tomcat
    2. HTML Forms - form tag, text elements, submit and reset buttons.
    3. Using the Query String to pass data
    4. JSP - accessing parameters
    5. Initializing form elements
  6. Multiple JSP
    1. Sending Data to Another JSP
    2. Sending Data Back using Hidden Fields
    3. Sending Data to Different Pages
    4. Using a Controller JSP
    5. Using a Servlet Controller
    6. Tomcat Servlet Mapping
  7. Servlets and MVC
    1. Using a Bean
    2. Validation by Using Default Values
    3. Validation by Informing the User
    4. Using Java Standard Tag Library to add Looping to a JSP
    5. Persist Data to a Database Server
  8. Using CGI
    1. Query String for GET Requests
    2. Content Length for POST requests
  9. Debugging Servlets
    1. NetBeans
    2. Server Logs
  10. MIME Types
  11. More HTML
    1. Lists
    2. Tables
    3. Images
  12. More Form Elements
    1. Radio Groups
    2. Checkboxes
    3. Select Lists
    4. Textareas
    5. Password
    6. Initializing Form Elements
    7. Saving Data from Complex Form Elements
  13. Cascading Style Sheets
    1. Colors
    2. Text Attributes
    3. Fonts
    4. Margins
    5. Borders
  14. Advanced Web Server Configuration
    1. Access controls, Log files
    2. Aliases, Scripting, Log Files, Connection Types, Negotiation, Indexes
    3. SSI
  15. Cookies
    1. Identify User
    2. Retrieve and display User Data from a database
  16. Sessions
    1. Using a Session to pass data to JSPs
    2. Shopping Cart
  17. Additional topics as time allows
    1. Request Headers, Response Headers, Status Codes
      1. Distinguishing Browsers
      2. Recognizing Browser Preferences: Accept, Accept Language, Accept Encoding
      3. Content Type
      4. Status Codes
    2. Java Mail - Adding Email Notification to a web application
    3. Model 1 Architectures Using Java
      1. PERL style applications
      2. Servlet Only
      3. Limitations of Servlets
    4. PHP style applications
      1. JSP Only
      2. Limitations of JSPs.
    5. Tomcat
      1. JDBC Connection Pooling
      2. Contexts

In a nutshell, you will learn about both sides of the web - the browser side and the server side. You will learn enough HTML and CSS to create web pages that send data to the server and display the response. On the server side, you will create dynamic Java programs that will receive data from teh browser, process the data, and send a response to the browser. You will also learn how to configure a web server. You will run your own copy of a web server and investigate the how to restrict access to your server.

Course Objectives