공부하는 블로그

Java | Servlet & Java Server Page(JSP) 본문

Java

Java | Servlet & Java Server Page(JSP)

치킨닮은닭 2020. 5. 15. 00:12

Servlet

 서블릿(Servlet)은 웹 페이지를 동적으로 생성하여 응답하는 서버측의 자바 프로그램이다. 여기서 동적으로 생성한다는 것은 어떤 의미일까?

 

 간단한 예로 우리가 웹 페이지에서 로그인을 한다고 가정해보자. 우리는 웹 서버로 아이디, 비밀번호와 함께 로그인 시켜달라고 서버측으로 요청하게 된다. 서버측에서는 우선 DB에 저장된 아이디와 비밀번호가 요청과 일치하는지 판단하여 일치하는 경우에는 로그인된 페이지를, 불일치하는 경우에는 로그인 실패 페이지를 응답하게 된다. 이러한 일련의 과정은 동적이다고 할 수 있다. 즉, 각기 다른 사용자의 요청에 따라 서버측에서 데이터를 조회하고 경우에 따라 알맞게 웹 브라우저에 페이지를 생성해주는 것을 '동적이다'라고 하며 이러한 역할을 수행하는 것이 바로 서블릿이다.

 

출처 https://www.tutorialspoint.com/servlets/servlets_overview.htm

 서블릿은 확장자명이 .java로 자바 코드 안에 HTML 코드가 삽입된 형식이다. 클라이언트에게 보여줄 HTML 코드는 println()으로 한줄 한줄 출력해주어야 한다. 

Java Server Page(JSP)

 JSP는 서블릿과 마찬가지로 웹 서버에서 동적으로 웹 페이지를 생성하는 자바 기반의 언어이다. JSP는 실행 시 서블릿으로 변환된 후 실행되므로 서블릿과 거의 유사하다고 볼 수 있다. 그렇다면 역할이 같은 서블릿이 있는데 왜 굳이 JSP가 등장하게 된 걸까?

 

 기존의 서블릿에서는 뷰(view)를 표현하는데 있어서 일일히 출력해주어야 하는 번거로움이 존재했다. 이를 극복하기 위해 JSP가 등장하게 된 것이다. JSP는 확장자명이 .jsp로 HTML 코드 안에 자바 코드가 삽입된 형식이다. 따라서 서블릿과는 달리 HTML 표준에 따라 작성되므로 웹 디자인하기에 편리하다. 

 

보통 MVC 모델을 기반으로 개발을 할 때, 각각의 장점을 살려 JSP는 뷰로써, 서블릿은 컨트롤러로써 혼용하여 사용한다.


Reference

·  웹 서버 프로그램과 Servlet - https://www.youtube.com/watch?v=sDWFWCvbrGg&list=PLq8wAnVUcTFVOtENMsujSgtv2TOsMy8zd&index=3

· JSP와 Servlet 비교 - https://m.blog.naver.com/acornedu/221128616501

· 위키백과 자바 서버 페이지 - https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94%EC%84%9C%EB%B2%84_%ED%8E%98%EC%9D%B4%EC%A7%80

Comments