inblog logo
|
jjack1
    JavaSpring Boot

    [SB] 2. Servlet

    최재원's avatar
    최재원
    Mar 19, 2025
    [SB] 2. Servlet
    Contents
    GETPOSTPUTDELETE전체 코드
    ❗
    Servlet(서블릿)은 자바(Java) 기반의 웹 애플리케이션을 개발할 때 사용되는 서버 측 프로그램으로,
    클라이언트의 요청(HTTP 요청)을 처리하고 동적인 웹 페이지를 생성하는 역할을 합니다.
    notion image

    GET

    notion image
    • postman으로 get요청을 한 결과
    • 어떤 데이터를 달라고 요청
    • 200 상태코드를 받을 수 있다
      • 200은 요청이 성공했다는 코드
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doGet"); resp.setHeader("Content-Type", "text/html"); PrintWriter out = resp.getWriter(); out.println(""" <html> <body> <h1>do get</h1> </body> </html> """); }
    • servlet코드
    • 버퍼에 html을 담아서 보낸다
    • 헤더에 입력하는 Content-Type은 이 내용이 어떤 형식의 내용 인지를 설명하는 것이다
      • text/html → 보내는 문자열이 html이라는 것을 알려준다
    • 요청의 결과
      • 브라우저
        • notion image
      • postman
        • notion image

    POST

    notion image
    • postman으로 post요청을 한 결과
    • 어떤 데이터를 추가 하겠다는 요청
    • body데이터가 필요하다
    • 201 상태코드를 받을 수 있다
      • 201은 생성이 성공했다는 코드다
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doPost"); resp.setStatus(201); // http 상태코드 }
    • servlet코드
    • 버퍼에 상태 코드 넣는 법

    PUT

    notion image
    • postman으로 put요청을 한 결과
    • 어떤 데이터를 수정해 달라는 요청
    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
      • postman으로 요청 시 쿠키가 추가된 것을 볼 수 있다

    DELETE

    notion image
    • postman으로 delete를 요청한 결과
    • 어떤 데이터를 삭제해 달라는 요청
    protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doDelete"); resp.setHeader("Location", "http://www.naver.com"); resp.setStatus(302); // 해당 Location으로 이동 }
    • 리다이렉션 하는 방법
      • 리다이렉션 : 다른 url로 재요청을 하라
    • 리다이렉션에 필요한 것
      • 302 상태코드
      • Location 값
    • 클라이언트가 해당 응답을 받으면 Location주소로 재요청을 시도한다

    전체 코드

    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") // was가 이 깃발이 있는 servlet을 찾는다 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(); out.println(""" <html> <body> <h1>do get</h1> </body> </html> """); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doPost"); resp.setStatus(201); // http 상태코드 } @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 } @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); // 해당 Location으로 이동 } }
     
    Share article
    Contents
    GETPOSTPUTDELETE전체 코드

    jjack1

    RSS·Powered by Inblog