Untitled_Blue

[JSP] Web에 대한 이해 및 JSP & Servlet이란? 본문

JSP&Servlet

[JSP] Web에 대한 이해 및 JSP & Servlet이란?

Untitled_Blue 2023. 10. 1. 21:47
반응형

안녕하세요. 이번 글은 웹에 대한 이해와 JSP와 Servlet이 무엇인가에 대한 설명입니다.

 

- WWW, URI, HTML

  • www : World Wide Web의 약자로서 웹이라고도 부르며 전 세계의 인터넷 내지 네트워크가 거미줄처럼 연결되어 있다는 점에서 방대한 인터넷 공간을 의미한다.
  • URI (Uniform Resource Identifier) : 통합 자원 식별자이며 인터넷에 있는 자원을 나타내는 유일한 주소 (하위 개념으로 URL, URN이 있다.)
  • HTML (Hyper Text Markup Language) : 마크업 언어로 웹 문서를 나타내기 위한 태그 형식의 언어

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

  • 정적 웹페이지 : 실시간으로 변화하는 데이터를 표현할 수 없으며 프로그래밍 코드 및 데이터베이스 연동 불가
  • 동적 웹페이지 : 실시간으로 변화하는 데이터를 표현가능한 만큼 프로그래밍 코드 및 데이터베이스 연동 가능 (예시 : ASP, PHP, JSP)

- Client와 Server의 관계

  • 클라이언트 : 정보 및 동작을 요청하는 주체이며 프론트엔드에 해당되는 부분
  • 서버 : 클라이언트에서 요청한 요구사항을 처리하는 공간이며 백엔드에 해당되는 부분

조금 스포?하자면 서블릿에서 request, response에 해당되는 문법이 존재한다. 이들을 통해 프론트와 백이 서로 상호작용하는 과정을 구현할 수 있다.

- JSP와 Servlet이란?

JSP는 Java Server Pages의 약자로 Java 언어를 기반으로 작동하는 서버사이드 스크립트이다. 서블릿과 상호작용한다는 점이 특징이며 HTML 태그 중간중간에 자바 언어 문법을 사용해서 동적 웹사이트를 구현할 수 있다. PHP에 비해 상대적으로 보안성이 좋으며 독립적인 플랫폼과 객체지향적인 만큼 코드의 접근성이 용이하다는 점이 특징이다. 또한 멀티쓰레딩을 지원한다는 점에서 사용자의 요청에 맞는 결과를 가공해서 제공한다는 점에서 매우 용이하다.

서블릿은 Server + Applet의 합성어로 브라우저에서 호출되면 웹 서버에서 웹페이지를 동적으로 결과를 보여주는 서버측 프로그램을 의미한다. JSP가 html에 자바 코드를 삽입하는 방식이라면 서블릿은 자바코드에 html 태그를 삽입하는 방식으로 작동된다.

상단의 이미지는 JSP페이지의 동작 과정을 나타내고 있다. 이때 웹 서버 내부에는 JSP 컨테이너가 있는데 이는 jsp파일을 자바 클래스 파일로 변환하는 역할을 담당하고 있다. 순서를 살펴보면 클라이언트가 jsp 페이지를 요구하면 서버 내부에서는 jsp라는 파일을 찾는 것부터 시작한다. 이후 내부에 있는 컨테이너를 통해 해당 파일을 서블릿 (자바 파일)으로 변환한 후 클래스 파일로 변환하는 과정을 거친다. 변환된 클래스 파일은 메모리에 적재 및 실행된다. 이후 실행 결과를 다시 html 형식의 파일로 사용자에게 요청에 대한 응답을 웹페이지 형식으로 전송하는 과정을 거친다. 

 

다음 글부터는 본격적인 JSP에 대한 설명입니다. 감사합니다.

반응형

'JSP&Servlet' 카테고리의 다른 글

[JSP] JavaBeans (자바빈즈)  (1) 2023.10.09
[JSP] 액션태그  (0) 2023.10.08
[JSP] 내장객체  (1) 2023.10.07
[JSP] JSP의 스크립트 요소  (0) 2023.10.03
[JSP] JSP의 디렉티브 (Directive)  (1) 2023.10.02