컴퓨터/WEB

[Spring] Servlet, JSP 그리고 MVC 패턴

정석이 2022. 9. 18. 23:55

 

Servlet / JSP

서블릿/JSP는 자바를 사용해 동적인 웹을 만들기 위해 사용되는 프로그래밍 기술이다.

 

정적 웹 페이지는 미리 저장된 파일을 요청에 따라 걍 보내는거고, 동적 웹 페이지는 서버에 있는 데이터들을 가공해서 보여주는 방법이다.

 

예를 들면 로그인처럼 아이디와 비밀번호를 입력하고 로그인 버튼을 누르면 성공/실패 결과를 반환하잖아요? 그런게 동적 웹 페이지이고 이 역할을 서블릿이나 JSP로 할 수 있다.

 

 

Servlet : Java에 html 코드를 작성할 수 있음

JSP : html 안에 .Java 코드를 작성할 수 있음

 

 

Servlet은 .java 파일로 만들어지고, 자바코드 안에 html을 이런 느낌으로 넣는다.

 

doGet(){
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("	<body>");
    out.println("		<h2> Hello Servlet!!</h2>");
    out.println("	</body>");
    out.println("</html>");
}

 

 

원래 Servlet이 먼저 나왔는데.. 보다시피 굉장히 귀찮게 짜야하는 불상사가 있다.

 

그래서 나온게 JSP이다. 

 

 

JSP는 .jsp 파일로 만들어지고, html 코드 안에 자바를 넣는다.

 

private String name;

public void init(){
	name = "농부";
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h2>Hello JSP~~!</h2>
	<h2>안녕 <%=name%>님! '^'</h2>
</body>
</html>

 

 

JSP가 실행되면 Servlet 파일(.java)로 변환되며, 그 Servlet 파일을 컴파일해서 .class 파일로 만든 뒤 html 페이지를 클라이언트에게 전달한다.

 


 

 

MVC (Model-View-Controller) 패턴

 

MVC 패턴은 Model-View-Controller 의 약자로 세 가지 역할로 나눠서 구성하는 디자인 패턴이다.

 

 

Model         :  백그라운드에서 동작하는 비즈니스 로직(데이터) 처리

View           :  사용자 화면 보여줌

Controller   :   ModelView 흐름 제어

 

 

출처 :&nbsp;https://velog.io/@khy226/MVC-%ED%8C%A8%ED%84%B4%EC%9D%B4%EB%9E%80

 

 

 

운영과 유지보수, 협업을 할 때 분업하기 좋은 패턴이다.