Java Servlets
Lec 27
Creating a Simple
Web Application in Tomcat
Tomcat Directory Structure
myapp
Tomcat Setup
Folder for
HTML and
JSP pages
Folder for servlet
and other java
classes
Servlet Types
Servlets are based on two main packages
GenericServlet
javax.servlet
javax.servlet.http
For writing protocol independent servlets
HttpServlet
Extends from GenericServlet class
Adds functionality for writing HTTP specific servlets
Servlet class hierarchy
Object
GenericServlet
ServerRequest
ServletResponse
HttpServletRequest
HttpServletResponse
javax.servlet
HttpServlet
javax.servlet.http
Writing Servlet
Every servlet must implement the javax.servlet.Servlet interface
Contains the servlet’s life cycle methods etc.
These are implemented by GenericServlet and
HttpServlet classes
Extend your servlet from one of these classes and add your own
functionality
public class MyServlet extends GenericServlet
public class HelloServlet extends HttpServlet
Types of HTTP Requests
Get
Post
Delete
Options
Put
Trace
How HTTP Sends Request
Some HTTP request types
• Get -- Attr/Val pairs attached after ? of URL
E.g.
http://www.gmail.com/register?name=ali
Servlets
Client
Server
• Post -- Attr/Val pairs attatched with the request body
HTTP Request Example
Request parameters etc
Writing Servlet
Steps for making a HelloWorldServlet
1.
2.
3.
Create a directory structure for your application (myapp). This
is a one time process for any application
Create a HelloWorldServlet source file by extending this
class from HttpServlet and override your desired method
Compile it (If compiler complains of not having required
packages, check your class paths)
Writing Servlet
Steps for making a HelloWorldServlet
1.
Place the class file in the classes folder of your webapplication.
(myapp) If you are using packages (recommended) then create a
complete directory structure under classes folder
2.
Create a deployment descriptor (web.xml) and put it inside WEBINF folder
3.
4.
Restart your server, if already running
Access your application using Web browser
HelloServlet
Example Code
HelloWorldServlet
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorldServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println(“Hello World!”);
}
}
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/myfirstservlet</url-pattern>
</servlet-mapping>
</web-app>
Compiling and Invoking Servlets
Compile HelloWorldServlet.java using javac command
Put HelloWorldServlet class in
install_dir/webapps/myapp/WEB-INF/classes
Put web.xml file in
install_dir/webapps/myapp/WEB-INF
Invoke your servlet by writing following command in the web
browser
http://localhost:8080/myapp/myfirstservlet
Lets do it LIVE
Free Servlet and JSP Engines
Apache Tomcat
Allaire/Macromedia JRun
http://www.allaire.com/products/jrun
New Atlanta ServletExec
http://jakarta.apache.org/tomcat/
http://www.servletexec.com
Causho’s Resin
http://www.caucho.com
© Copyright 2026 Paperzz