백엔드 진화과정

Web Html

  • 인터넷이 시작되면서 웹도 시작됐다.
  • 웹은 절대적으로 HTML로 구현된다.
  • 웹에서 보여지는 정보들은 모두 하드코딩 되어있다.

Servlet

  • Web의 대중화로 인해 Web을 통한 데이터 입출력의 필요성이 생긴다.
  • 자바에서 웹 프로그래밍을 지원한다.
    • 자바 코드안에 html을 넣는다.
  • 웹은 절대적으로 HTML로 구현된다.
  • Servlet에 HTML을 구현한다. → 개발자들이 죽어나간다.
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/hello")
public class HelloWorldServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        out.println("<h1>Hello, World!</h1>");
        out.println("</body></html>");
    }
}

JSP

  • HTML 코드안에 Java를 넣는다.
  • 시간이 지날수록 JSP 내의 자바 코드가 스파게티가 되었다.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
    <title>Hello World JSP</title>
</head>
<body>
    <h1>Hello, World!</h1>
    <p>Current date and time: <%= new java.util.Date() %></p>
</body>
</html>

MVC

  • HTML과 Java를 분리한다. (backend, frontend 분리
  • java 내부에서도 받아들이는 입구와 비즈니스 부분을 분리하는 움직임이 생겨나다.
  • 표준 없이 개발자마다 MVC를 구현하는 상황이 발생했다.
  • Model, View, Controller

Spring

  • 자바에서 만든 MVC 개발 프레임워크

'공부 > 기타' 카테고리의 다른 글

RESTful API  (1) 2024.08.09
객체지향 SOLID  (0) 2024.08.09
개발 프로세스  (0) 2024.08.09
Unity로 만든 공 굴리기 게임[My_First_Game: Roll The Ball]  (0) 2021.07.14