Skip to content
Home » Java Servlet Development kit

Java Servlet Development kit

Below is a clear, deep, and professional explanation of the Java Servlet Development Kit (Servlet API / SDK).


Java Servlet Development Kit (Servlet API)

Introduction

The Java Servlet Development Kit, commonly referred to as the Servlet API, is a collection of interfaces and classes provided by Java to develop server-side web applications. It allows developers to create servlets that handle client requests, perform business logic, and generate dynamic responses.

The Servlet API is part of Java Enterprise Edition (Jakarta EE) and is executed inside a Servlet Container such as Apache Tomcat, Jetty, GlassFish, or WebLogic.


Purpose of Servlet Development Kit

The Servlet Development Kit provides:

  • Standard APIs to build web components
  • A protocol-independent request–response mechanism
  • Integration with HTTP-based web applications
  • A foundation for frameworks like JSP, Struts, Spring MVC

Components of Java Servlet Development Kit

The Servlet Development Kit mainly consists of the following components:

  1. Servlet Interfaces
  2. Servlet Classes
  3. HTTP-Specific APIs
  4. Configuration & Deployment Support
  5. Utility and Supporting Interfaces

1. Servlet Interfaces

Servlet Interface

public interface Servlet

This is the core interface of the Servlet API. Any servlet must ultimately implement this interface.

Key Methods:

  • init(ServletConfig config)
  • service(ServletRequest request, ServletResponse response)
  • destroy()
  • getServletConfig()
  • getServletInfo()

📌 Developers usually do not implement this interface directly.


ServletConfig Interface

Used to provide initialization parameters to a servlet.

Responsibilities:

  • Access servlet-specific configuration
  • Provide reference to ServletContext

ServletContext Interface

Represents the entire web application, not a single servlet.

Uses:

  • Sharing data among servlets
  • Reading application-level parameters
  • Resource management

📌 One ServletContext per web application.


2. Servlet Classes

GenericServlet

public abstract class GenericServlet
  • Protocol-independent servlet
  • Implements Servlet and ServletConfig
  • Used when protocol is not HTTP

📌 Rarely used in real-world web applications.


HttpServlet

public abstract class HttpServlet
  • Most widely used servlet class
  • Designed specifically for HTTP protocol
  • Provides HTTP method handling

Important Methods:

  • doGet()
  • doPost()
  • doPut()
  • doDelete()
  • doHead()

📌 Almost all web servlets extend HttpServlet.


3. HTTP-Specific APIs

HttpServletRequest

Represents the client request.

Provides access to:

  • Request parameters
  • Headers
  • Cookies
  • Session object
  • Request body data

HttpServletResponse

Represents the response sent to client.

Used for:

  • Sending HTML / JSON / XML output
  • Setting status codes
  • Redirecting responses
  • Writing output streams

HttpSession

Used for session management.

Features:

  • Maintains user data across requests
  • Stored on server side
  • Identified using session ID

4. Configuration and Deployment Support

web.xml (Deployment Descriptor)

Used to configure servlets declaratively.

Contains:

  • Servlet definitions
  • URL mappings
  • Initialization parameters
  • Security constraints

Annotations (Modern Approach)

@WebServlet("/login")
  • Eliminates need for web.xml
  • Simplifies configuration
  • Preferred in modern applications

5. Utility and Supporting Interfaces

RequestDispatcher

Used for request forwarding and inclusion.

request.getRequestDispatcher("home.jsp").forward(request, response);

Filter Interface

Used for:

  • Authentication
  • Logging
  • Data validation
  • Request preprocessing

Listener Interfaces

Used to track:

  • Application events
  • Session lifecycle
  • Request lifecycle

Working of Servlet Development Kit

  1. Client sends HTTP request
  2. Servlet container receives request
  3. Container uses Servlet API to:
    • Create request & response objects
    • Invoke servlet methods
  4. Servlet processes request
  5. Response is sent back to client

Advantages of Servlet Development Kit

  • Platform independent
  • High performance (multithreaded)
  • Secure and robust
  • Scalable for enterprise applications
  • Backbone of Java web frameworks

Limitations

  • Requires explicit coding
  • UI generation is complex compared to JSP
  • Thread safety must be handled carefully

Conclusion

The Java Servlet Development Kit provides a standardized and powerful foundation for building server-side Java web applications. By offering a well-defined set of interfaces and classes, it enables seamless interaction between client requests and server responses. The Servlet API plays a critical role in modern Java web development and serves as the backbone for higher-level frameworks and enterprise solutions.