서버 측에서 실행되며, 클라이언트의 요청을 처리함
HTTP 요청을 처리하고 동적인 웹 페이지를 생성하는 역할
1. 프로젝트 생성

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
}
}
Share article