YourNote 301: Servlet - zhamri/CSC584-Enterprise_Programming GitHub Wiki

1. What is a Servlet?

A Servlet is a Java class that runs on a web server (e.g., Apache Tomcat) and handles HTTP requests.

Simple idea:

  • Browser → sends request
  • Servlet → processes request
  • Servlet → sends response (HTML/JSON)

2. Servlet Lifecycle

Every servlet follows this lifecycle:

init() → service() → destroy()

Explanation:

  • init() → runs once (initialization)
  • service() → runs for every request
  • destroy() → runs when server stops

3. Handling HTTP Requests

Servlets mainly deal with HTTP methods:

  • doGet() → retrieve data
  • doPost() → send data (forms)
  • doPut() / doDelete() → advanced REST usage

Example:

protected void doGet(HttpServletRequest request, HttpServletResponse response)

4. Request & Response Objects

Two core objects:

HttpServletRequest

  • Get user input
  • Read parameters
String name = request.getParameter("name");

HttpServletResponse

  • Send output to browser
response.getWriter().println("Hello " + name);

5. Servlet Mapping (URL Routing)

How URL connects to servlet:

Using Annotation (modern way)

@WebServlet("/hello")

Access via:

http://localhost:8080/hello

6. Working with JSP

  • Servlet = logic
  • JSP = presentation

Flow:

JSP (form) → Servlet (process) → JSP (display)

Example:

request.setAttribute("name", name);
request.getRequestDispatcher("result.jsp").forward(request, response);

7. Session Management

HTTP is stateless → Servlets manage sessions:

HttpSession session = request.getSession();
session.setAttribute("user", "Zhamri");

Used for:

  • login systems
  • shopping carts

8. Database Connection (JDBC)

Servlets often connect to a database:

  • MySQL / PostgreSQL / Oracle
  • Use JDBC

Important for assignments:

  • Insert data
  • Retrieve data
  • Display in JSP

9. Deployment & Server

Servlets need a server:

  • Apache Tomcat (most common)
  • Jetty / GlassFish

Simple Analogy

  • Servlet = Chef (does the work)
  • JSP = Waiter (serves the result)

If waiter cooks → disaster 😄