[면접]Servlet vs JSP

Gooder·2021년 7월 15일
0

CS 면접 준비하기

목록 보기
2/5

이전 게시글에서 WS 와 WAS를 다뤘습니다.
이전 게시글에서 컨테이너를 설명하는 부분에서 servlet과 jsp를 간단하게 소개했습니다.

컨테이너 : jsp나 servlet을 수행 시킬 수 있는 소프트웨어를 의미합니다. 자바에서는 이를 웹 어플리케이션 컨테이너라고 부릅니다. 이는 간단하게 말해서 웹 앱이 배포되는 공간이라고 생각하시면 됩니다.

이번 게시글에서는 Java Servlet과 JSP에대해서 알아보겠습니다.

Servlet

자바 서블릿은 자바를 사용해서 웹페이지를 동적으로 생성하는 서버단의 프로그램입니다. Java 코드 안에 HTML 태그가 삽입되어있는 형태입니다.
한마디로, 서블릿은 클라이언트의 요청을 처리하고 그 결과를 다시 클라이언트에게 돌려주는 서블릿 클래스를 구현한 자바 프로그램입니다.
자바 프로그램이기 때문에, 자바에대한 지식이 필요합니다. 또한, Servlet을 이용하면 화면 인터페이스 구현에 너무 많은 코드가 필요하다는 단점이 있습니다.

JSP(Java Server Pages)

HTML 내부에 자바코드를 삽입되어있는 형태입니다. 즉, JSP는 서블릿을 기반으로하는 서버 스크립트 기술입니다. 스크립트 기술이기 때문에, 미리 약속된 규정에 따라서 키워드를 조합해서 입력하면, 실행 시점에 특정 코드로 변환된 후에 실행됩니다. 서블릿의 단점을 보안해서 간편하게 웹 프로그래밍을 구현할 수 있게합니다.

Java Servlet과 JSP의 차이점

둘의 가장 큰 차이점은 누가 누구를 포함하고 있는가? 입니다.
서블릿은 자바 코드 안에 HTML이 있는 것
JSP는 HTML 코드 안에 자바 코드가 있는 것

서블릿과 JSP는 각자 잘하는 역할을 담당해서 웹 어플리케이션을 구성합니다.

JSP는 사용자에게 결과를 보여주는 역할을 담당하고, 서블릿은 클라이언트의 요청을 받아 분석하고 비즈니스 층고 통신해 처리한 후 그 결과를 다시 클라이언트에게 응답하는 컨트롤러 층을 담당합니다.
한마디로, 클라이언트는 서블릿에 요청을 하고 서블릿은 이를 처리한 후 JSP를 이용해서 클라이언트에게 응답하는 구조입니다.

MVC패턴에서는 View는 JSP, Controller는 Servlet을 사용합니다.

profile
세상을 변화시킬 신스틸러 서비스를 만들고싶은 개발자 Gooder 입니다.

0개의 댓글