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 requestdestroy()→ runs when server stops
3. Handling HTTP Requests
Servlets mainly deal with HTTP methods:
doGet()→ retrieve datadoPost()→ 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 😄