[Spring Boot] 5. Servlet

김건우's avatar
Mar 25, 2025
[Spring Boot] 5. Servlet
💡
서버 측에서 실행되며, 클라이언트의 요청을 처리함
HTTP 요청을 처리하고 동적인 웹 페이지를 생성하는 역할

1. 프로젝트 생성

notion image

2. Servlet 동작 과정

1️⃣ 클라이언트 요청 → 사용자가 웹 브라우저에서 특정 URL 요청
2️⃣ 웹 컨테이너가 서블릿 호출
3️⃣ 서블릿이 요청을 처리 (doGet(), doPost() 등)
4️⃣ 응답 생성 후 반환 (HTML, JSON 등)
package org.example.demo5; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet("*.do") public class DemoServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doGet"); resp.setHeader("Content-Type", "text/html"); PrintWriter out = resp.getWriter(); // auto flush 적용되어 있음. out.println("<html>"); out.println("<body>"); out.println("<h1>doGet</h1>"); out.println("</html>"); out.println("</html>"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doPost"); resp.setStatus(201); } @Override protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doDelete"); resp.setHeader("Location", "http://www.naver.com"); resp.setStatus(302); // 해당 loction으로 이동해 } @Override protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doPut"); Cookie cookie = new Cookie("c03", "apple"); Cookie cookie2 = new Cookie("c04", "banana"); resp.addCookie(cookie); resp.addCookie(cookie2); // Set-Cookie : c03 = apple;c04=banana } }
notion image
Share article

gunwoo