本文发表在 rolia.net/zh 相约加拿大网上社区枫下论坛
Two friends asked me if Jabber will do training in Toronto. My answer is "Not until
March 2001" because I plan to move to Toronto in February 2001. At their request,
I publicize my training schedule used in Virginia. Comments are welcome.
45 hrs. 3 hrs each time. Class time: Wed. 7:00pm & Sat. 6:30pm.
Unit 1: Web Architecture, Apache +Tomcat
In this introductory class, we briefly explain what is Web and describe the client/server programming paradigm for the Internet. Install Apache web server and configure it into a Windows service. Install IE5 and Netscape 4.71 and investigate their configurations. Introduce HTML file’s DOM structure. Create an
Through this class, the following concepts should be made crystal clear. http/https protocol, service and port number, request/response mechanism, form structure, client-side validation, the connector pattern. The contents to be covered in this class look to be simple and trivial, but they are extremely important for a
Web programmer. After this class, the student should be able to talk about the basic architecture in web programming and set up an Apache + Tomcat web server at home. Without this setup, the student would be unable to do any lab at home. Many concepts covered in this class will be reviewed in the following classes.
What is Java servlet technology?
Why is Java servlets preferred to CGI technology?
What is JVM, Java Servlet engine?
What about servlets’s life-cycle?
Why do servlets have a good performance?
What is servlet API?
What are GenericServlets and HTTPServlets?
What is Jakarta-Tomcat open-source project?
How to configure a Tomcat server?
What is server.xml for?
What is a Context in Tomcat?
What is web.xml for?
Where can we find Sun’s Servlet library?
Given a simple Servlet source file, how do we compile it?
Why to register a Servlet?
In this class, we will look through the complex configuration of Jakarta-Tomcat. For this purpose, we need to explain some Windows Scripting files and XML files. There is no much coding in this class. We just use the example code shipped with Tomcat to establish our working environment. We will try to understand various error messages in relation to the servlet compilation and execution. In particular, we show how to set and check the two most important Windows environment variables: PATH and CLASSPATH.
The object model for servlets are examined in this class. In particular, we explain how to implement business logic in the Java servlets.
In this class, we work on two example servlets: HelloServlet and CounterServlet. They are not as simple as people imagine usually. Step by step, we enrich these two servlets and make them robust. Using HelloServlet, we show how to treat Exceptions in Servlet programming. Using CounterServlet, we should how to take into account the concurrency issue in the servlet programming. In addition, we will show how to use Java IO to read a resource file and log error messages in servlet.
After this class, the student should be able to understand the common error message in compiling a Java servlet and be able to set up PATH and CLASSPATH independently.
In this class, we should how to publish contents form a database table using Java Servlet and JDBC technology. We will “borrow” the code from the text book and modify it to fit into our needs. We will explain the whole work-flow in the JDBC technology. We use the table and data provided by others rather than create our own table. For MS ACCESS database, we will show how to configure it into an ODBC data resource, access it through JDBC-ODBC bridge, and then public into browsers. Same practice will be applied to another populous database Oracle. For Oracle database, we use scott’s account and his example database because of the class time limit.
After this class, the student should be able to use JDBC technology to access the database provided he is given a database. He/she should be able to find the right JDBC driver and specify the DB URL for a specific database provided he/she is asked to undertake such a task.
In this class, we learn how to retrieve the information from HTTPRequest and ServletContext. By doing so, the student should get familiar with the Servlet API. From this class, we begin to use Jbuilder to write servlet code so as to use its “auto-complete” functionality.
Another task in this class is to master various navigation technologies in the web programming: 1) Form submit; 2) HyperLink; 3) SendRedirect and Forward; 4) OnLoad attribute in the <Body> tag
In this class, we study the Session Management technologies, including both cookie and URLrewriting.
First, we will explain what is cookie and what is urlrewriting. As a perfect example, we will set up JavaWebServer with 15 minutes and deploy the Duke’s Bookstore example. This example contains 8 Java Servlets and a few supporting files. It maintains’ a shopping cart in the HttpSession object. The students will be shown how to deal with the deprecated API in the old servlet code.
Also in this class we will learn how to configure IE5 and Netscape 4.71 because this is a basic requirement for a serious Web developer. In addition, we will come back to Tomcat and investigate its authentication technology.
This class is composed of two parts.
The first part is an example about servlet-application communications using URL connections. By going through this example, you will learn how to do networking programming in Java. At the same time, it tells you that not all the Java servlet will send HTML pages into the browsers.
The second part is an example about image processing. First of all, this example shows you how to configure your development tool as you need some third-part class libraries. It also shows you how to configure your servlet engine as third-part libraries are required. We will use Acme library in this example.
The image processing is an important technology for a server-side programmer.
This class investigates the servlet-applet programming. The example code is about a simple Java chat room. In this example, the applet and servlet communicate using either http or rmi protocol.
The basic principle of Java RMI will be explained. The students will be shown how to use Java RMI compiler. As well they will be lead through deploying servlets and applets on the same server. More importantly, we will show the student how to use and configure Java console in the browser. Because IE5 does not support Java RMI, we will show how to install and use Java-Plugin.
In this class, we will revisit JDBC topic and study the JDBC connection pool technology. The source code comes from the Karl Moss book, but we need to modify the code so that it can work. We will expand Duke’s Bookstore example and make it database-driven.
This example can be useful in the production environment.
In this class, we will explain the basic principle in JSP technology. Then, we configure Tomcat and try some simple example JSP code. Next we introduce JSP syntax and write some simple JSP files:
a) Translate our earlier HelloServlet into a JSP code
b) Display the number 1-100 using variable table format in the browser by writing JSP code
c) Create a simple login.jsp with client-side validation
d) Using a pre-set JDBC connection pool, write a JSP file to publish the data from database
Most important thing in this class is to help the student understand various error messages in developing a JSP page.
In this class, we will first explain the JavaBean technology and create some example beans using Jbuilder.
Then, we will practice JSP’s useBean technology and examine bean’s life-cycle.
On the other hand, we will investigate the usage of reserved variables in the JSP page. Extensive coding
is expected in this class.
In this class, we will show how to use template technology and design our own tag library. For this purpose, we will first look into some XML technologies.
Another task in this class is to investigate the communication between JSP pages and Java servlets. In particular, we will focus on the session and context management issues.
In this class, we will study a life example---Music without Border. The source code will be downloaded from www.javaworld.com . This is a perfect implementation of Model-View-Controller architecture. The design and code are so useful that one can use them in the development environment.
In this class, we will set up J2EE Pet Store demo. This will be a synthesis of all Java enterprise technology. By looking into the example code, we will acquire a sense of professional Java programming.
In this class, we set up MIIS and Jrun and make them work together. Then, we move our earlier examples into this new configuration. This re-deployment process will tell us the similarity and distinction between Apache/Tomcat and MIIS/Jrun. This is a learning process from at the high-level. Although we have only a few hours’ experience with MISS/Jrun, we should be confident that we have enough experiences in this aspect.
更多精彩文章及讨论，请光临枫下论坛. 网址: rolia.net/zh