본문 바로가기
IT || 개발공부

[JSP] JSP란 무엇인가? (개념/특징)

by saesong 2023. 1. 25.

2. JSP란 무엇인가?

앞서 설명한대로 JSP는 웹 프로그래밍 언어들 중 하나이다. 웹 프로그래밍 언어는 동적 페이지를 생성하기 위한 서버 측 스크립트 언어이다. 그러한 언어들 중 JSP는 자바라는 언어를 기반으로 만들어진 언어이며, 다음과 같은 특징을 가지고 있다.
<Java의 특징>
·객체지향적 ·플랫폼 독립적 ·네트워크 지향적 ·뛰어난 보안성 ·멀티스레드기능 ·친근한 코드

*Java
: Sun Micro System사가 개발한 객체지향적 언어이다. 1995년에 발표되었는데 C언어의 모습을 많이 가지고 있다. 자바 언어로 작성된 프로그램 코드는 자바 컴파일러라는 프로그램으로 컴파일해서 바이트 코드를 생성해낸다. 이 바이트코드는 자바가상머신(JVM)에 의해서 실행 될 수 있다.
그래서 이 바이트 코드는 JVM이 설치된 기종에서는 원래의 파일을 컴파일 할 필요 없이 이미 컴파일해둔 바이트코드를 실행시킬 수 있다. 이것이  자바가 플랫폼 독립적인 특징을 가지게 하는 것이다. 플랫폼 독립니라는 말은 어떤 기종이든지, 어떤 운영체제든지 JVM이 설치된 곳이라면 본래의 파일을 다시 컴파일 할 필요 없이 실행 시킬 수 있다는 의미이다. '객체 지향적 언어'라는 자바의 대표적인 특징과 함께 '플랫폼 독립적'이라는 것 또한 자바의 대표적인 특징 중 하나이다.

JSP는 자바라는 언어를 기반으로 만들어졌기에 자바가 갖는 특징들을 그대로 이어받고 있다. JSP의 특징은 이쯤에서 매듭짓고 JSP가 어떻게 생긴 것인지 한번 살펴보도록 하자. 

<html>
<head>
<title>example1</title>
</head>
<body>
     일반적인 HTML의 형태입니다.<br>
     오늘 날짜는 2023-01-25입니다.
</body>
</html>

 

위의 태그들로 구성된 페이지를 살펴보겠다. 단순한 HTML 태그로만 구성이 되어 있는 아주 정적인 페이지이다. 동적인 웹 페이지에 대해 감을 잡은 분들은 뭔가 알 수 있을지도 모르지만 이 태그만으로 구성된 페이지는 이제부터 JSP가 무엇일까 하는 부분에 대해서 설명하기 위한 가장 기본적인 프로그램이 될 것이다.

만약 이 페이지로 현재 날짜를 보여주는 웹 사이트를 제공한다고 가정해보자. 이 웹 사이트는 현재 회원 수 10명이며, 그들은 공교롭게도 모두 달력을 가지고 있지 않아서 언제 어느 때고 이 사이트에 접속해서 날짜를 보고 그들의 약속을 정한다고 가정해보겠다.
자, 그럼 이 사이트의 운영자는 이 페이지를 시간에 맞춰 계속 현재 날짜로 고쳐서 수정된 페이지를 각 회원에게 보여주어야 한다. 

여기서 말하는 것은 계속 변화하는 정보에 대한 표현방법이다. 단순한 날짜가 아닌 시간에 대한 정보라면 어떨까? 아니면 실시간으로 변하는 주식시세나 교통정보를 제공한다면 어떻게 될까? 이 사이트의 서비스를 제공하는 회사는 당연히 그 페이지를 매번 수정해야 한다. 당연히 많은 노력이 필요하다.

<% page import="java.util.*.java.text.*" %>
<html>
<head>
<title>example2</title>
</head>
<body>
<%
     Date date = new Date();
     SimpleDateFormat simpleDate = new SimpleDateFormat("yyyy-MM-dd");
     String strdate - simpleDate.format(date);
%>
일반적인 HTML 페이지의 형태입니다.<br>
오늘 날짜는 <%=strdate%>입니다.
</body>
</html>

 

위의 코드들은 jsp 페이지의 아주 기본적이며 핵심적인 형태이다. 지금 보이는 익숙하지 않은 코드들에 대해선 신경쓰지 말고 우선 이 페이지의 형태들을 보길 바란다. 당신은 <%@...%> 기호를 볼 수 있을 것이다. 이것이 동적인 부분을 담당한다. 이 기호들이 서버에서 실행 되어 적절한 결과를 생성한 뒤 다시 이 페이지에 그 결과가 포함이 된다. 즉 프로그램이 수행된 결과가 이 부분에 대신하여 놓이게 되어 웹 서버를 통해 사용자의 브라우저에 전송되면, 사용자는 순수한 HTML 태그로만 구성된 페이지를 볼 수 있게 된다.
결국 이 부분들의 내용이 서버에서 실행되고 사용자의 브라우저로 전송되었을 때는 현재의 날짜를 나타내고 있는 일반적인 웹 페이지의 형태로 보이게 된다.

댓글