What are Servlets?
Java Servlets are
programs that run on a Web or Application server and act as a middle layer
between a request coming from a Web browser or other HTTP client and databases
or applications on the HTTP server.
Using Servlets, you
can collect input from users through web page forms, present records from a
database or another source, and create web pages dynamically.
Java Servlets often
serve the same purpose as programs implemented using the Common Gateway Interface
(CGI). But Servlets offer several advantages in comparison with the CGI.
·
Performance is significantly better.
·
Servlets execute within the address space of a Web server. It is not
necessary to create a separate process to handle each client request.
·
Servlets are platform-independent because they are written in Java.
·
Java security manager on the server enforces a set of restrictions to
protect the resources on a server machine. So servlets are trusted.
·
The full functionality of the Java class libraries is available to a
servlet. It can communicate with applets, databases, or other software via the
sockets and RMI mechanisms that you have seen already.
Servlets Architecture:
Following diagram
shows the position of Servelts in a Web Application.
Servlets Tasks:
Servlets perform the
following major tasks:
·
Read the explicit data sent by the clients (browsers). This includes an
HTML form on a Web page or it could also come from an applet or a custom HTTP
client program.
·
Read the implicit HTTP request data sent by the clients (browsers). This
includes cookies, media types and compression schemes the browser understands,
and so forth.
·
Process the data and generate the results. This process may require
talking to a database, executing an RMI or CORBA call, invoking a Web service,
or computing the response directly.
· Send the explicit data (i.e., the document) to the clients (browsers).
This document can be sent in a variety of formats, including text (HTML or
XML), binary (GIF images), Excel, etc.
·
Send the implicit HTTP response to the clients (browsers). This includes
telling the browsers or other clients what type of document is being returned
(e.g., HTML), setting cookies and caching parameters, and other such tasks.
Servlets Packages:
Java Servlets are
Java classes run by a web server that has an interpreter that supports the Java
Servlet specification.
Servlets can be
created using the javax.servlet and javax.servlet.http packages, which are a standard part of the Java's enterprise edition, an
expanded version of the Java class library that supports large-scale
development projects.
These classes
implement the Java Servlet and JSP specifications. At the time of writing this
tutorial, the versions are Java Servlet 2.5 and JSP 2.1.
Java servlets have
been created and compiled just like any other Java class. After you install the
servlet packages and add them to your computer's Classpath, you can compile
servlets with the JDK's Java compiler or any other current compiler.
Servlets - Environment Setup
A development
environment is where you would develop your Servlet, test them and finally run
them.
Like any other Java
program, you need to compile a servlet by using the Java compiler javacand after compilation the servlet application, it would be deployed in a
configured environment to test and run.
This development
environment setup involves following steps:
Setting up Java Development Kit
This step involves
downloading an implementation of the Java Software Development Kit (SDK) and
setting up PATH environment variable appropriately.
Once you download
your Java implementation, follow the given instructions to install and
configure the setup. Finally set PATH and JAVA_HOME environment variables to
refer to the directory that contains java and javac, typically
java_install_dir/bin and java_install_dir respectively.
If you are running
Windows and installed the SDK in C:\jdk1.5.0_20, you would put the following
line in your C:\autoexec.bat file.
set PATH=C:\jdk1.5.0_20\bin;%PATH%
set JAVA_HOME=C:\jdk1.5.0_20
Alternatively, on
Windows NT/2000/XP, you could also right-click on My Computer, select
Properties, then Advanced, then Environment Variables. Then, you would update
the PATH value and press the OK button.
On Unix (Solaris,
Linux, etc.), if the SDK is installed in /usr/local/jdk1.5.0_20 and you use the
C shell, you would put the following into your .cshrc file.
setenv PATH /usr/local/jdk1.5.0_20/bin:$PATH
setenv JAVA_HOME /usr/local/jdk1.5.0_20
Alternatively, if you
use an Integrated Development Environment (IDE) like Borland JBuilder, Eclipse,
IntelliJ IDEA, or Sun ONE Studio, compile and run a simple program to confirm
that the IDE knows where you installed Java.
Setting up Web Server: Tomcat
A number of Web
Servers that support servlets are available in the market. Some web servers are
freely downloadable and Tomcat is one of them.
Apache Tomcat is an
open source software implementation of the Java Servlet and JavaServer Pages
technologies and can act as a standalone server for testing servlets and can be
integrated with the Apache Web Server. Here are the steps to setup Tomcat on
your machine:
·
Download latest version of Tomcat from http://tomcat.apache.org/.
· Once you downloaded the installation, unpack the binary distribution
into a convenient location. For example in C:\apache-tomcat-5.5.29 on windows,
or /usr/local/apache-tomcat-5.5.29 on Linux/Unix and create CATALINA_HOME
environment variable pointing to these locations.
Tomcat can be started
by executing the following commands on windows machine:
%CATALINA_HOME%\bin\startup.bat
or
C:\apache-tomcat-5.5.29\bin\startup.bat
Tomcat can be started
by executing the following commands on Unix (Solaris, Linux, etc.) machine:
$CATALINA_HOME/bin/startup.sh
or
/usr/local/apache-tomcat-5.5.29/bin/startup.sh
After startup, the
default web applications included with Tomcat will be available by visitinghttp://localhost:8080/.
If everything is fine then it should display following result:
Further information
about configuring and running Tomcat can be found in the documentation included
here, as well as on the Tomcat web site: http://tomcat.apache.org
Tomcat can be stopped
by executing the following commands on windows machine:
C:\apache-tomcat-5.5.29\bin\shutdown
Tomcat can be stopped
by executing the following commands on Unix (Solaris, Linux, etc.) machine:
/usr/local/apache-tomcat-5.5.29/bin/shutdown.sh
Setting up CLASSPATH
Since servlets are
not part of the Java Platform, Standard Edition, you must identify the servlet
classes to the compiler.
If you are running
Windows, you need to put the following lines in your C:\autoexec.bat file.
set CATALINA=C:\apache-tomcat-5.5.29
set CLASSPATH=%CATALINA%\common\lib\servlet-api.jar;%CLASSPATH%
Alternatively, on
Windows NT/2000/XP, you could also right-click on My Computer, select
Properties, then Advanced, then Environment Variables. Then, you would update
the CLASSPATH value and press the OK button.
On Unix (Solaris,
Linux, etc.), if you are using the C shell, you would put the following lines
into your .cshrc file.
setenv CATALINA=/usr/local/apache-tomcat-5.5.29
setenv CLASSPATH $CATALINA/common/lib/servlet-api.jar:$CLASSPATH


No comments:
Post a Comment