Some reader favorites:
EJB fundamentals and session beans
Create a scrollable virtual desktop in Swing
Wizard API updated!
Tim Boudreau has released a new version of the Swing Wizard library (version 0.997) that fixes the WizardException bug reported in JavaWorld's recent Open Source Java Project profile. The article's examples have been reworked to test out the new, improved WizardException. Thanks, Tim, for this helpful fix!
Open Source Java Projects: The Wizard API
Play with the whiteboard!
Note: This applet will run only in the HotJava browser, the Windows 95/NT implementation of Internet Explorer 4.0, or in an AWT 1.1-enabled version of Netscape (see Resources for a link to the patch required to bring Netscape up to speed).
If you are not using any of these browsers, you can use appletviewer to view the applet.
The whiteboard we're using was first developed back inNovember's column. The whiteboard uses 1.1 AWT features, such as lightweight components to display objects as the user draws them.

The whiteboard
In December's column we added to the functionality of the previous month by creating a network of whiteboards that shared a common list of objects. All the whiteboards in the collaborative group could add and move the shared whiteboard objects. We developed both RMI- and sockets-based networking layers to enable communication among the whiteboards.
This month we're going one step further: We're going to use servlets to provide the same function that sockets and RMI provided last month.
Servlets are server extensions written in Java, usually for Web servers. A growing number of Web servers support them, including Apache, Java Web Server (JWS), O'Reilly's WebSite, and Netscape's various offerings.
Servlets are interesting because they don't fork a new process for every request that comes in, which makes them much faster than CGI. Under some Web servers, such as JWS, servlets are even faster than Fast-CGI because there is no process task switch; the servlets run as threads within the server process itself.
Because Web-based servlets respond to HTTP methods such as GET and POST, servlet-based communication is able to get around firewalls, which block sockets and RMI. As an added bonus, it's easy to
use SSL to secure communications between SSL-enabled clients (Netscape, for example) and servlets running under an SSL-enabled
Web server. SSL (or Secure Sockets Layer) is an encryption-based protocol used to protect data sent over the Internet from
eavesdropping.
Servlets are accessed from clients in the same manner as CGI scripts. For example, an HTTP GET request to a URL like http://www.mycom.com/servlet/CurrentTime could return a bit of HTML containing the current time on
the server.
The server loads the servlet when the first request is directed to it (unless the server allows pre-loading). The server then
calls the servlet's init () method. All other requests arriving before the init () method completes block until it does so.
Once the init () method completes, the servlet is ready to service requests via its service () method. The environment puts each request into its own thread, which then enters the servlet's service () method.
mod_servlet.c http://www.apacheweek.com/issues/97-06-13#status
Free Download - 5 Minute Product Review. When slow equals Off: Manage the complexity of Web applications - Symphoniq
![]()
Free Download - 5 Minute Product Review. Realize the benefits of real user monitoring in less than an hour. - Symphoniq