Web Html
- 인터넷이 시작되면서 웹도 시작됐다.
- 웹은 절대적으로 HTML로 구현된다.
- 웹에서 보여지는 정보들은 모두 하드코딩 되어있다.
Servlet
- Web의 대중화로 인해 Web을 통한 데이터 입출력의 필요성이 생긴다.
- 자바에서 웹 프로그래밍을 지원한다.
- 웹은 절대적으로 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