코딩배움일지/인터페이스 구현

인터페이스 2일차 ( Spring Framework & Dispatcher Servlet)

karatejin 2023. 1. 4. 12:40

Servlet Container

package com.exaple.Demo;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Hello extends HttpServlet {
  
  @Override
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // paramter 해석
    String name = request.getParameter("name");
    
    // business login 실행
    process(name);
    
    // response 구축
    response.setContentType("text/html");
    PrintWriter out = response.getWritter();
    out.print("<html>");
    ...
    out.print("</html>");
  }

  private void process(String name) {
    //  business logic
  }
}

Dispatcher Servlet

Dispatcher Servlet

@RestController
public class HelloController {

  @GetMapping("/hello")  // path 설정, GET 메서드 사용
  public String process(@RequestParam String name)  {
    // 비즈니스 로직
    return "Hello" + name;
  } 
}

 

Spring Dispatcher Servlet 이용 시 장점

  • HttpServlet을 상속받지 않아도 됨
  • doGet Override 불필요
  • HttpServletRequest를 직접 파싱하지 않아도 됨
  • HttpServletResponse를 작성하지 않아도 됨