[JSP]이란 무엇일까?

Jun_Gyu·2023년 3월 15일
1
post-thumbnail

지난시간에는 JSTL에 대해서 알아보았다. 사실 JSP를 먼저 개념정리 한 이후 JSTL에 대해서 배우는것이 순서상으로는 올바르겠지만, 현재 배우고 있는 내용을 복습한다는 느낌으로 한번 알아보려고 한다.

JSP란?

JSP란 JavaServer Pages의 약자를 뜻하며, HTML 코드에 JAVA 코드를 사용하여 동적 웹페이지(Dynamic Web Page)를 생성하는 웹 어플리케이션 도구(라이브러리)이다.

JSP가 실행되면 자바 "Servlet"으로 변환이 되며, 웹 어플리케이션 서버에서 동작되게 되며, 생성된 데이터들을 웹페이지와 클라이언트를 통해 응답을 한다.

1. Web

이란, 인터넷 기반의 정보기술을 뜻하며, 우리가 흔히 접하는 "WWW"인 World Wide Web의 줄임말이다. 단어의 뜻처럼 전세계에 걸쳐 거대한 네트워크 망을 통해서 정보들을 공유하며, 정보는 양방향성의 특징을 가진다.

2. Web Application

웹 어플리케이션은 웹에서 실행되는 응용프로그램을 뜻하며, 인터넷을 통한 여러가지의 서비스를 일컫는다. 사용자는 필요한 데이터를 Request(요청)하고 서버에서는 사용자의 Request를 수행하며, 요청한 데이터를 Response(응답)하게 되는 형식이다.

web Application의 구성요소

  • 웹 브라우저 (Web Browser)

클라이언트에서 요청을 하고 전달받은 페이지를 볼수있는 환경

  • 웹 서버 (Web Server)

클라이언트로 부터 요청받아 서버에 저장된 리소스를 클라이언트 에게 전달한다. 주로 정적컨텐츠를 담당한다.

  • 웹 어플리케이션 서버 (Web Application Server)

줄여서 was 라고도 부르며 서버단에서 필요한 기능을 수행하고 그결과를 웹서버에게 전달한다.

  • 데이터베이스 (DB)

서비스에 필요한 데이터를 보관, 갱신 등 관리를 한다.



3. Java Servlet

Java Servlet이란, 웹페이지를 동적으로 생성하기 위해 사용하는 서버측의 프로그램을 말한다. Servlet은 Java언어를 기반으로 만들어지며, 웹 어플리케이션 서버(Web Application Server) 위에서 컴파일 되고 동작한다.

4. JSP와 Java Servlet

JSP와 Servlet의 차이점을 비교한다면 아래와 같다.

ServletJSP
- 자바 코드로 구현하고, 컴파일하고, 배포해야한다.- 키워드가 태그화 되어 Servlet에 비해서 배우기 쉽다.
- HTML 태그로 문자열("")스크림으로 처리해야 한다.- 자바코드를<% %>태그 안에 처리해주어야 한다.
- 코드가 수정되면 다시 컴파일하고 배포해야 한다.- HTML처럼 태그를 사용하여 자바코드도 사용이 가능하다.

위의 내용만 참고하더라도 Servlet이나 JSP 둘다 사용방법의 차이가 있을뿐, 비슷한 역할을 수행한다는 점을 알 수 있다.

초기의 자바 웹개발은 Servlet만을 이용한 개발이었지만 이후 JSP기술이 발표되면서 JSP형태의 개발이 점차 발전하게 되었고, 지금의 Servlet + JSP 형태로 각각의 역할을 나누어 개발을 하는 방식이 이루어지고 있다.

현재 우리가 실습에서 사용하고 있는 방식에서 JSP는 JSP의 기술적 장점을 극대시킬 수 있도록 웹어플리케이션 구조에서 사용자에게 결과를 보여주는 View의 역할을 담당하고, Servlet은 Servlet의 기술적 장점을 최대한 활용할 수 있도록 사용자의 request를 받아 분석하고, 비즈니스층과 통신하여 처리한 결과를 다시 사용자에게 응답하는 Controller의 역할을 담당한다.


참고글 출처

https://m.blog.naver.com/acornedu/221128616501

https://javacpro.tistory.com/43

profile
시작은 미약하지만, 그 끝은 창대하리라

0개의 댓글