CIS 404/604 Advanced Java Syllabus 


Students with Special Needs, as defined by the
Americans with Disabilities Act of 1990, should contact
the Academic Support Services Director at (402) 293-
3731 or testing@scholars.bellevue.edu

This is not an online course. Materials to support this course are available from campus machines. If you cannot access these links from your home or office, then you must sort out those issues. All material will be presented in class as well as here. This syllabus may be modified by the instructor at any time.


Instructor: Professor Dan Creagan (dcreagan@bellevue.edu)

Location: Dennis Learning Center

Room: 529

Phone: 682-5063

Prerequisite: Introductory Java Course (such as SL275, CIS 402/602, etc)


TEXT: Java for the Web with Servlets, JSP, and EJB - ISBN 0-7357-1195-X

Catalog descriptionThis course is designed to teach advanced principles of programming on the World Wide Web using JAVA.  It emphasizes database and telecommunications connectivity across diverse computer platforms.  Each student will have his/her own website, but will be expected to develop tools and techniques that are generic for any web installation/server.  Java Server Pages (JSP), Servlets, and the  Java 2 Enterprise Environment (J2EE) will be covered in detail. 

PurposeThis course is meant to teach advanced programming techniques and to prepare the student for entry level programming on a Java-based networking platform.  The subjects covered will have direct relationship to the way the business world is using cross platform products on their enterprise based digital communications systems.

 ObjectivesUpon completion of the prescribed work for this course, the student should be able to: 

·      Describe and demonstrate Intranetworking principles using Java as an intranet tool.

·      Describe and demonstrate the implementation of database management and intranet access to diverse databases using Open Data Base Connectivity (ODBC) and Java.

·      Demonstrate the use of packaging and container/polymorphism techniques using Java.

·      Develop and apply middleware techniques with servlets and Java Server Pages as the middleware source.

·      Develop and use Common Object Request Broker (CORBA) and Remote Method Invocation (RMI) examples.

·      Configure a web server to accept JSP and servlets.

·      Publish at least one shareware program using one of the techniques mentioned above.

 CIS 604 students should be able to accomplish the following objectives: 

·      Demonstrate technical research and writing abilities by producing an independent research paper on cross-platform compatibility.

·      Using appropriate design methods, develop a customer specified Java application or applet, preferably using the STRUTS framework ( Model-View-Controller (MVC) paradigm described at http://jakarta.apache.org/struts/).

·      Demonstrate group project management by developing a project within the context of a programming team. 

Assessment:  Assessment of course effectiveness will be determined by the number of accepted student projects in a national software repository.  This course will be taught at a level necessary to train a layman programmer in a typical enterprise level business. 

General kinds of assignmentsEach class will explore different areas of Java and Java related topics.  The student will be asked to contribute information and show knowledge in each of the areas.  There will be a chapter of reading and a student-developed program example each week, combined with appropriate tasks to reinforce the chapter information.

 Students will be assigned exercises that explore all text material.  Outside study will be an element of the course content, required by the rapidly changing technology.  Students should expect to spend 12 hours a week in outside study and program development.

 Testing and gradingThe final grade will be based on several quizzes and a project.  The project will be a shareware program that must be accepted by an independent shareware publishing agent.  Specific details on how to do this will be covered in class.  The quizzes will be comprehensive and will use different types of question format, including multiple choice, short answer, essay, and true/false. 

Course Outline:

Contents:

This course is designed to introduce advanced  JAVA concepts. Example Java Server Pages (JSP), Servlets, and JDBC applications will be developed.

The following will be modified according to the semester being followed. The lessons do not necessarily follow the order of the modules described above. Instead, they are grouped to best facilitate learning.

First Half Second Half Links/Additional Info
Lesson 1

 

Be sure to save your files to floppy!

Review of Java Technologies Including GUI building, threads, Swing and components

Assignment: Create a Swing Application that looks like the homework link in the drop down box to the right -->

Lesson 2 

Note: Lesson 2 may span more than 2 meetings

Homework Review

Java Review (cont)

Streams, exception handling, ODBC, database hookup.

Assignment: Using the provided database (javadb1.mdb) that is in the zip file in the drop down links to the right of this text box,  hook up your Swing Application that you made (above) so that you can browse the database. Call the program dbrowse.java. Read Chapter 1 and  2 of your text 


 

Check out the Basic HTML Tutor linked in the dropdown box above. Now is the time to refresh your knowledge of HTML. We will be using it extensively in the following lessons. The good news is that we won't be using advanced HTML - but you need to know the fundamentals.

Lesson 3

Note: Lesson 3 may span more than 2 meetings

Homework Review

Introduction to Web Technologies 

HTML, CGI, server side and client side technologies.

"A servlet can almost be thought of as an applet that runs on the server side -- without a face." Sun.

Setting up Tomcat; running first Servlet

Assignment: Install Tomcat and create a servlet that reads a text file and sends it to the browser that invokes the servlet.  Hint: use the file i/o examples we covered previously (see drop down links) and use absolute file paths.  Read Chapter 3 of your text.  


 

Note: The latest revision to the Tomcat server requires modification of the web.xml to allow servlets to run. As a minimum you have to put an entry in the web.xml of your application area for URL mapping. See: URL Mapping for more information.
Lesson 4 Homework Review

Servlets and Forms

POST and GET operations. Simple  form post with a CGI.

Assignment: Create a Servlet that posts to itself and saves the data to a sequential file. Call it formPost . Be sure the servlet appends the data to the file.  To append data, use the Random Access File class. Do Peer Eval (handed out in class). Read chapter 4 of your text


 

Have a link that shows the contents of the saved file - With a little decoration, this project could be a Guest Book. Read chapter 2 and pages 360 to 366 for next week's lesson.

Lesson 5

Note: Lesson 5 may span more than 2 meetings

Homework Review

Servlet configuration and sharing  

Servlet integration with databases. The MiddleWare Concept 

Installing Duke's Bookstore 

 

Assignment: Rewrite the formPost servlet (lesson 4) so that the data is saved to a database. Re-map your servlet to /lesson5 on your web server. Make its name cisjava. Read chapters 8 and 9 for next week's lesson.  Submit your server.xml and web.xml with your homework.

Use your Oracle account to make the DB connection.


 

NOTE: As irritating as it may be, the links to the Sun site on this subject change frequently. I have removed them from here. When you look up Duke on the Sun site, you will find the Enterprise version which is not as instructive for our current level.

Lesson 6

Are you keeping your head out of the weeds?

Homework Review

JSP Pages 

"Add a cup of espresso and some eye liner to a Servlet and you have Java Server Pages (JSP)."

Running first JSP, exploring script syntax  f 

Assignment. Read chapter 9. Using chapter 9 and our class review, rewrite the Lesson 4 formPost servlet so it uses JSP code (save it to a file not a database). Call it formPost.jsp. 


Feeling Frisky? Rewrite the formPost servlet from Lesson 5 into a JSP. Lesson 5 uses a database instead of file i/o. 

Lesson 7 Homework Review

Java Beans -  Examples of Java Beans will be done in class.

Assignment:  Create a bean that does the file i/o (or database i/o) that your formPost.jsp file did. Have formPost.jsp use it. (see previous lesson.) Read chapter 11 .


Enterprise Beans. Introduction and discussion. Model View Controller - A reason to do all this! 

Lesson 8 Homework Review

JSP Tags enable non-Java programmers to use JSP - sort of.

Main question: Why not just use Beans?

Assignment: Use a tag library to dissect the results of your formPost.jsp (make the target of your post a new JSP that uses the 'request tag' library). Read Chapters 5 and 6 for next week. Deliver your project as a WAR file. Any other file format will not be accepted.


Feel Itchy? Use the DB tag library and contact your database with formPost.jsp. 

Other interesting libraries include io, cutpaste, utility and application. Set them up and look them over. The HTTP library (io - jakarta.jsp) is fun and easy.

 

Lesson 9 

Homework Review

Session tracking

Java Networking Review

JSP/Servlet Integration

Assignment: Implement a JSP session that lasts 15 seconds. As a hint, look on page 298 of your book. To test it, be sure to set it at just a few seconds until you see how it works. 


 

 

Lesson 10 Review of War Files

Homework Review

JSP Developing Custom Tags

Exception pages 

Assignment:  Create a custom tag (see chapter 11)  Add an exception handling page onto your formPost.jsp project.  Deliver your project as a WAR file. Any other file format will not be accepted.


 

Lesson 11

Use a real database, use MySQL

Homework Review

JDBC Overview, Installing MySQL, connecting to an application

Assignment: Install the bookstore database as outlined in Chapter 16. Read 16.


 

Lesson 12 Homework Review

Integrating Servlets/JSP with Databases

Duke's bookstore revisited

Assignment: Create and deliver a Model View Controller implementation that uses a database. You can expand on the Duke's Books example (advanced) or you can just make a simple one as described in the drop down box on the right. Review chapter 18 (Struts).  


 

Have you eaten your Spinach? Convert Duke's Bookstore to a MySQL database! There is some help in the drop down box above. However, you should use MVC to do the conversion so the example in the drop down is not complete (nor correct). 

Lesson 13

OPTIONAL

Homework Review

Struts Overview

Apache Web server integration using Tomcat, JSP/Servlets/HTML. Configuring Apache.

Assignment: Visit www.apache.org and download/install Apache for windows.   

 

 


Lesson 14

OPTIONAL

Networking Review

CORBA/RMI  Review

Enterprise Beans as distributed objects


Moving on: Study the Struts Framework in Chapter 18 and then implement one of the case studies in chapters 19 or 20.

 

Lesson 15

OPTIONAL

XML 

Using DOM and SAX and XSLT 

Note: Some examples in this section only work with JDK 1.4 or greater and/or Tomcat 4.x 


 

 

 

Please Read The Following Carefully: 

1.  The prerequisites are necessary to complete this course.  If you don't know C, C++  or one of their derivatives, then you should not be here.

2.  All programs and assignments are due by the beginning of the class period following the assignment unless otherwise specified on the syllabus or by the instructor.  No credit will be given for late submittals.  There is no extra credit assignment in this course.

3.  If you are going to be gone from class, contact me first or as soon as possible after the absence. Please do not wait until the day of the next class to contact me for homework assignments.

4.  Tests must be taken at the scheduled time and day. Tests can be made up through Academic Services, but you will have to pay the fee for an independently proctored exam.  All tests must be completed within one week of their due date.

5.  If you decide not to complete the course, you must withdraw before the appropriate date to avoid receiving a failing grade.

6.  I do not automatically sign audit requests after a student has entered the course for grade. You must have a good reason for going to audit. Excessive absences must be documented with an appropriate letter from employer/doctor/ etc to qualify for an audit approval by me.

7.  Cheating, such as copying another's work, will result in an F for the course - no exceptions