[JSP, 서블릿]

[JSP] 서블릿,JSP 개요

Jarvis2304 2023. 1. 8. 20:45
 

 

▶ 서블릿 & JSP

- 웹에서의 자바 기술

- 동적인 웹 페이지를 개발하기 위한 웹 프로그래밍 기술

 

 

 

▶ 서블릿(Servlet)

- Java 언어로 구현되는 서버 프로그램

- 서버에서 웹페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 Java로 작정된 프로그램

- Java 코드안에 HTML태그가 삽입됨, 장자가 .java

 

 

 



▶ JSP(Java Server Pages)

- HTML문서에 내부적으로 Java 문법을 사용할 수 있게 하는 웹페이지 스크립트 언어

- 서블릿의 단점을 보완하고자 만든 서블릿 기반의 "서버 스크립트 기술"

(스크립트 기술이란 미리 약속된 규정에 따라 간단한 키워드를 조합하여 입력하면, 실행 시점에 각각의 키워드에 매핑이 되어 있는 어떤 코드로 변환 후 실행되는 형태)

- HTML태그안에 자바 코드가 삽입됨, 확장자가 .jsp

- JSP는 뷰(view) 페이지를 만들때 사용, 뷰는 단순히 클라이언트가 보는 화면으로서 클라이언트로부터 요청받거나 처리된 결과를 보여주는 페이지

- 뷰에서 들어온 요청을 받아서 처리하는 웹 페이지가 컨트롤러 페이지, 이는 서블릿으로 구현

 

 

 

 

 

 



 기본 용어

용어

설명

HTTP 웹 서버와 사용자 사이의 통신을 위해 사용되는 프로토콜.
사용자가 요청하면 웹 서버가 응답하는 구조의 프로토콜
프로토콜 네트워크를 통해 컴퓨터들이 정보를 주고받는 절차 혹은 통신 규약
서버(Server) 웹에서 서비스를 제공하는 컴퓨터 시스템
WAS
(Web Application Server)
웹 애플리케이션이 실행 될 수 있는 환경을 제공하는 소프트웨어로, 컴퓨터에서 운영체제(윈도우,리눅스)와 비슷한 역할을 함.
WAS는 웹 서버와 웹 컨테이너를 포함한 개념  
ex) Tomcat
웹 서버
(Web Server)
사용자로부터 HTTP를 통해 요청 받거나, 웹 컨테이너가 전달해준 결과물을 정적인 웹 페이지로 생성하여 사용자에게 응답해주는 소프트웨어
웹 컨테이너
(Web Container)
웹 서버가 전송해준 요청을 기초로 동적인 페이지를 생생하여 웹 서버로 돌려줌. JSP를 서블릿으로 바꿔 실행해주는 역할과 서블릿의 생명주기를 관리하여 웹 환경에서 서블릿이 구동될 수 있도록 함
포트(Port) 포트를 직역하면 '항구'라는 뜻이며 컴퓨터 사이에서 데이터를 주고받을 수 있는 통로. 인터넷에서는 IP주소를 통해 서버 컴퓨터의 위치를 파악, 그런 다음 그 컴퓨터가 제공하는 특정 서비스는 포트 번호를 통해 알 수 있음
프로토콜(Protocol) 네트워크를 통해 컴퓨터들이 정보를 주고받는 절차 혹은 통신규약. 서로 다른 컴퓨터들이 대화하는 데 필요한 공통 언어 역할을 함

 

 

 

 

 

 

 



▶ 정적 웹 페이지 vs 동적 웹 페이지

● 정적 웹 페이지(static web page): 웹 서버에 '저장 되어 있는 파일을 그대로' 웹 브라우저에 전송해 출력하는 기본적인 웹 페이지

- 클라이언트가 어떤 형태로 요청하더라도 같은 페이지는 항상 동일한 모습을 보여주기 때문에 '정적'이란 수식어가 붙음

정적 웹 페이지 구동방식

 

 

 

● 동적 웹 페이지(dynamic web page): 동일한 페이지라 할지라도 그때그때 내용이 달라질 수 있는 웹 페이지

- 서버가 클라이언트의 요청을 해석하여 가장 적절한 웹 페이지를 그때그때 생성해 보내주는 기술

- 클라이언트는 요청한 계정, 시간, 지역, 언어, 기타 입력값에 따라 다른 결과를 받음

- '전처리(동적인 웹페이지 처리)' 과정을 거쳐 응답 페이지를 동적으로 생성, JSP와 서블릿이 이 '전처리' 과정을 처리

 

 

 

 



▶ JSP 구동 방식

- 서블릿은 기본적으로 자바 코드여서, 결과를 보여줄 HTML 코드를 일일이 자바로 생성·조합하다 보니 너무 많은 코드가 필요 → 기본을 HTML로 하고 필요한 부분만 자바 코드 삽입하는 형태인 JSP로 발전

 

-웹 서버 :정적인 웹페이지 처리

- WAS :서블릿과 JSP를 통해 동적인 웹페이지 처리

 

- JSP파일을 서블릿으로 변환하여 서블릿을 실행하는 방식

 

- 서블릿 파일을 실행한 뒤, 최종적으로 자바 언어가 사라진 HTML코드만 남음. 이 HTML코드를 웹 브라우저(사용자)에게 전달 

 

 



서블릿과 JSP의 차이

서블릿

JSP

자바 코드 안에서 전체 HTML 페이지를 생성 HTML 코드 안에서 필요한 부분만 자바 코드를 스크립트 형태로 추가
변수 선언 및 초기화가 반드시 선행되어야함 자주 쓰이는 기능을 내장객체로 제공하여 즉시 사용 가능
컨트롤러(Controller)를 만들 때 사용 처리된 결과를 보여주는 뷰(View)를 만들때 사용

 

 

 

 

 

 

 

 

 

참고문헌

- JSP와 Servlet(서블릿) 비교 : 네이버 블로그 (naver.com)