Programming/Java, Spring

[Spring] JSP & Servlet / JSP와 Servlet의 역할

Juun 2022. 6. 17. 22:52
반응형

자바를 배우면 JSP, Servlet, Spring 에 대해서 많이 배우고 듣게 되는데

오늘은 하나씩 알아보도록 하자!

JSP, Servlet, 스프링을 각각의 특징을 간단하게 알아보는 포스팅이라

자세한 지식은 다음에 포스팅하도록 하겠다!

 

서블릿(Servlet)

서블릿은 서버에서 웹페이지 등을 동적으로 생성하거나 데이터 처리를 위해

자바로 작성된 어플리케이션이다! (HTML in JAVA)

쉽게 풀어보자면 '클라이언트 요청을 처리하고 그 결과를 다시 클라이언트에

전송하는 서블릿 클래스의 구현한 자바 프로그램' 이라고 이해하면 된다!

 

서블릿에서 좀 더 확장시킨 개념이 스프링이라 생각하면 된다!!

스프링도 서블릿을 통해 동작을 하기 때문에!


JSP (Java Server Page)

간단하게 HTML 안에 자바코드를 삽입한 것이라 생각하자! (Java in HTML)

서블릿은 HTML 안에 자바 코드가 있는거라 했다.

JSP는 HTML을 코딩하기 어렵고 불편해서 

HTML 내부에 자바 코드를 삽입하는 형식이라 생각하면 된다!

한마디로 서블릿의 단점을 보완한 서블릿 기반의 스크립트 기술이다!!

 

HTML 코드 속에 들어가는 자바 코드는 아래와 같다

<% 메서드 영역 %>

<%! 클래스 영역 %>

 

나중에는 <% %> 이렇게 쓰는것 마저 쓰는게 불편하다고

EL, JSTL 이라는 개념도 나왔는데 그건 추후에 따로 설명 할 수 있도록 하겠다!!


JSP와 Servlet 의 역할

위 내용만 보면 서블릿이나 JSP나 방법의 차이만 있을뿐 같은 역할을 한다는 것을 알 수 있다ㅣ

초기 자바를 통한 웹개발은 서블릿을 이용한 개발이었다고 한다. 추후에 서블릿의 단점을 보완하고자

JSP가 나오고 JSP만을 이용한 개발(Model1 방식)이 유행하게 되고 지금에 와서 JSP와 서블릿의 역할을 나누어 

서블릿 + JSP 형태의 개발(Model2 방식)을 이루고 있는데 그게 바로 스프링의 핵심이라 할 수 있는 MVC 패턴이다!

 

위 설명에서 처럼

JSP는 HTML 사용이 용이하고 자바코드 사용이 불편하기 때문에 View(Client) 담당을,

서블릿은 자바코드 작성이 편리하기 때문에 자료를 받아 모델에 저장하고 그 모델을 다시 화면에 전달하는 Controller를 담당하고 있다.

이렇게 하면 좋은 점이 분리가 되어 유지보수에 용이하여 좋은 설계를 할 수 있다는 이점이 있다!

출처 - 에이콘아카데미 공식블로그

 

이렇게 서블릿과 JSP에서 알아보았고 더 나아가 이 둘을 활용한 스프링까지도 알아봤다.

스프링을 알려면 서블릿, JSP를 알아야 한다!!

 

3줄 요약

1. 서블릿 (HTML in JAVA) - Controller 역할

2. JSP (Java in HTML) - View 역할

3. 스프링 : 서블릿 + JSP

 

 

 

 

스프링 MVC 패턴은 이전 포스팅 한 글이 있어 참고하면 좋을 것 같다!

2022.06.15 - [Frameworks/Spring] - [Spring] MVC (Model, View, Controller) 패턴이란??

 

[Spring] MVC (Model, View, Controller) 패턴이란??

MVC 패턴이란??? 모델-뷰-컨트롤러(model–view–controller, MVC)는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. 이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스

puenti.tistory.com

 

반응형