[Spring Boot] 3. Servlet

김미숙's avatar
Mar 20, 2025
[Spring Boot] 3. Servlet
notion image
‼️
Body Data는 Put과 Post만 있다

Get

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"); // header PrintWriter out = resp.getWriter(); // auto flush 적용되어 있음 out.print("<html>"); out.print("<body>"); out.print("<h1>doGet</h1>"); out.print("</body>"); out.println("</html>"); // buffer에 들어감 } }
Servlet 가 데이터를 요청받는데
ServletHttpServletRequest 가 요청받은 파싱해서 데이터를 객체화한다
HttpServletResponse 에 보낼 데이터를 담는다
보낼 데이터를 담을 때 Header에 어떤 타입의 어떤 데이터인지 넣어서 함께 보내야한다 (❗컴퓨터는 어떤 타입의 어떤 데이터를 받게 될지 모르니까)
⬇ 데이터를 전송하게 되면?
 
notion image
notion image
➡ 잘 전송된 것을 확인할 수 있다

Post

@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doPost"); resp.setStatus(201); // http 상태코드 }
notion image

Put

@Override protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doPut"); Cookie cookie = new Cookie("c03", "apple"); resp.addCookie(cookie); // 기존에 있던 쿠키 건들지 않고 추가 Cookie cookie2 = new Cookie("c03", "banana"); resp.addCookie(cookie2); // Set-Cookie : c03=apple;c03=banana }
notion image
 

Delete

@Override protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doDelete"); resp.setStatus(302); // 해당 로케이션으로 이동하라 resp.setHeader("Location", "http://www.naver.com"); }
  • Location 만 줬을때
➡ value에 "http://www.naver.com" 가 들어감
notion image
  • Status(302) 상태 코드를 주면?
Redirection 되서 Location 키 값인 "http://www.naver.com”로 이동하게 됨
notion image
Share article

parangdajavous