Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

SERVLETS - QUICK GUIDE

http://www.tuto rialspo int.co m/se rvle ts/se rvle ts-quick-g uide .htm Co pyrig ht © tuto rials po int.co m

What are Servlets?


Java Servlets are prog rams that run on a Web or Application server and act as a middle layer between a request
coming from a Web browser or other HT T P client and databases or applications on the HT T P server.

Using Servlets, you can collect input from users throug h web pag e forms, present records from a database or
another source, and create web pag es dynamically.

Java Servlets often serve the same purpose as prog rams implemented using the Common Gateway Interface
(CGI). But Servlets offer several advantag es in comparison with the CGI.

Performance is sig nificantly 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 manag er on the server enforces a set of restrictions to protect the resources on a server
machine. So servlets are trusted.

T he 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 diag ram shows the position of Servelts in a Web Application.

Servlets Packag es:


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 packag es, which are a standard part
of the Java's enterprise edition, an expanded version of the Java class library that supports larg e-scale
development projects.

T hese 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
packag es and add them to your computer's Classpath, you can compile servlets with the JDK's Java compiler or
any other current compiler.

Setting up Java Development Kit


T his step involves downloading an implementation of the Java Software Development Kit (SDK) and setting up
PAT H environment variable appropriately.

You can download SDK from Sun's Java servlet site: http://java.sun.com/products/servlet/.

Once you download your Java implementation, follow the g iven instructions to install and config ure the setup.
Finally set PAT H 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 rig ht-click on My Computer, select Properties, then
Advanced, then Environment Variables. T hen, you would update the PAT H 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 Integ rated Development Environment (IDE) like Borland JBuilder, Eclipse, IntelliJ
IDEA, or Sun ONE Studio, compile and run a simple prog ram 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 T omcat is one of them.

Apache T omcat is an open source software implementation of the Java Servlet and JavaServer Pag es
technolog ies and can act as a standalone server for testing servlets and can be integ rated with the Apache Web
Server. Here are the steps to setup T omcat on your machine:

Download latest version of T omcat 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 CAT ALINA_HOME environment variable pointing to these locations.

T omcat 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

T omcat 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 T omcat will be available by visiting
http://loc alhost:8080/. If everything is fine then it should display following result:
Further information about config uring and running T omcat can be found in the documentation included here, as
well as on the T omcat web site: http://tomcat.apache.org

T omcat can be stopped by executing the following commands on windows machine:

C:\apache-tomcat-5.5.29\bin\shutdown

T omcat 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 rig ht-click on My Computer, select Properties, then
Advanced, then Environment Variables. T hen, you would update the CLASSPAT H 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 T E: Assuming that your development directory is C:\ServletDevel (Windows) or /usr/ServletDevel (Unix)


then you would need to add these directories as well in CLASSPAT H in similar way as you have added above.

Sample Code for Hello World:


Following is the sample source code structure of a servlet example to write Hello World:
// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// Extend HttpServlet class


public class HelloWorld extends HttpServlet {

private String message;

public void init() throws ServletException


{
// Do required initialization
message = "Hello World";
}

public void doGet(HttpServletRequest request,


HttpServletResponse response)
throws ServletException, IOException
{
// Set response content type
response.setContentType("text/html");

// Actual logic goes here.


PrintWriter out = response.getWriter();
out.println("<h1>" + message + "</h1>");
}

public void destroy()


{
// do nothing.
}
}

Compiling a Servlet:
Let us put above code if HelloWorld.java file and put this file in C:\ServletDevel (Windows) or
/usr/ServletDevel (Unix) then you would need to add these directories as well in CLASSPAT H.

Assuming your environment is setup properly, g o in ServletDevel directory and compile HelloWorld.java as
follows:

$ javac HelloWorld.java

If the servlet depends on any other libraries, you have to include those JAR files on your CLASSPAT H as well. I
have included only servlet-api.jar JAR file because I'm not using any other library in Hello World prog ram.

T his command line uses the built-in javac compiler that comes with the Sun Microsystems Java Software
Development Kit (JDK). For this command to work properly, you have to include the location of the Java SDK that
you are using in the PAT H environment variable.

If everything g oes fine, above compilation would produce HelloWorld.c lass file in the same directory. Next
section would explain how a compiled servlet would be deployed in production.

Servlet Deployment:
By default, a servlet application is located at the path <T omcat-installation-directory>/webapps/ROOT and the
class file would reside in <T omcat-installation-directory>/webapps/ROOT /WEB-INF/classes.

If you have a fully qualified class name of c om.myorg .MyServlet, then this servlet class must be located in
WEB-INF/classes/com/myorg /MyServlet.class.

For now, let us copy HelloWorld.class into <T omcat-installation-directory>/webapps/ROOT /WEB-


INF/classes and create following entries in web.xml file located in <T omcat-installation-
directory>/webapps/ROOT /WEB-INF/

<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>

Above entries to be created inside <web-app>...</web-app> tag s available in web.xml file. T here could be
various entries in this table already available, but never mind.

You are almost done, now let us start tomcat server using <T omcat-installation-directory>\bin\startup.bat (on
windows) or <T omcat-installation-directory>/bin/startup.sh (on Linux/Solaris etc.) and finally type
http://loc alhost:8080/HelloWorld in browser's address box. If everything g oes fine, you would g et
following result:

T o g o in detail of servlet, you can g o throug h complete tutorial starting from start : Java Servlets.

You might also like