Home : Course Map : Chapter 14 :
Servlets and JSP
JavaTech
Course Map
Chapter 14

Web Servers
Design of Server
ServerSocket
Threads For Clients
Client Streams
HTTP Protocol
Run Server
  Demo 1
Secure Server
  Demo 2
More Security
A client application
  Demo 3
Server Apps
Servlets
Exercises

     About JavaTech
     Codes List
     Exercises
     Feedback
     References
     Resources
     Tips
     Topic Index
     Course Guide
     What's New

Over time web servers need to provide all sorts of new services and customizations. Rewriting programs for every new service is obviously not convenient or practical. The traditional approach is for a server to run scripts or programs via the CGI (Common Gateway Interface) mechanism. The URL tells the server where to find the script, which uses standard I/O to write and read data on local storage and to send replies in hypertext back over the web.

A purely Java approach is to use servlets. We have seen in this course how applets are Java programs that run inside the browser on the clients machine. Similarly, servlets are specialized Java programs that a server runs on the its machine. Servlets can do many of the same tasks as CGI scripts such as process forms, executing I/O with local disk files, database access, etc.

Servlets also have several advantages over CGI:

  • CGI scripts run once and go away. Servlets can stay in memory and respond to another request without additional startup costs.

  • " Servlets are run in a Java thread by the server and are generally much faster to start up than CGI programs, which require an operating system process

  • A CGI script receives one input request, gives a response, and then dies. Servlets can carry on a two-way conversation or session for an indefinite period.

  • A servlet can communicate with multiple clients simultaneously, e.g. perform as a multi-player game server.

Furthermore, since servlets are modular, the system manager and local users can develop or purchase servlets to enhance the capabilities of their server.

A number of commercial and freeware servers run servlets. See the list below.

We briefly return to the subject of servlets in Chapter 21 and their role in the area of Web services. However, the servlet API, however, is beyond the scope of this course. See the resources below for information and tutorial materials in this area.

Another tool in the Java toolbox is the Java Server Page (JSP). HTML pages at a server are typically static in that the text is fixed until it is edited by hand. In a JSP page, however, the hypertext contains specially tagged areas that signal to the server or servlet where it can insert dynamically created data. For example, the servlet could enter the latest price for a product in a catalog page.

Though servlets and JSP are powerful tools for large enterprise Web servers, our emphasis is in small, specialized servers for custom applications such as monitoring remote devices. Such servers can usually suffice with the techniques discussed in this and the following chapters.

References & Web Resources

Latest update: Dec. 9, 2004

  
  Part I Part II Part III
Java Core 1  2  3  4  5  6  7  8  9  10  11  12 13 14 15 16 17
18 19 20
21
22 23 24
Supplements

1  2  3  4  5  6  7  8  9  10  11  12

Tech 1  2  3  4  5  6  7  8  9  10  11  12
Physics 1  2  3  4  5  6  7  8  9  10  11  12

Java is a trademark of Sun Microsystems, Inc.