JSP

JSP(Java Server Pages) 란

PiccoBella 2023. 4. 3. 12:45

■ 웹 프로그래밍과 JSP

  • 웹 프로그래밍 언어 : 클라이언트 측 실행 언어와 서버 측 실행 언어로 구분
  • JSP : Java 기반으로 하는 서버 측 웹 프로그래밍 언어 중 하나
  • JSP는 서블릿의 화면처리 어려움을 해결하기 위해 나왔으며 HTML 과 데이터를 조합하기 위해 다음과 같은 주요 기능적 특징을 가진다.
  •  

 ■ JSP장점 및 특징

  • 플랫폼에 독립적이다.
  • 서블릿보다 배우기 쉽고 간단하며 빠른 개발이 가능하다
  • 유지 관리가 용이하다
  • 스크립트 언어로 되어 있다
  • 자바를 배우지 않았어도 쉽게 접근 가능하다.
  • 처리 결과를 HTML, XML, DOC 등 사용자의 요청에 맞게 제공할 수 있다.
  • 서블릿, 스트럿츠, 스프링, EJB 등의 프레젠테이션 로직인 view 영역으로 잘 융합되어 많이 사용하고 있다.
  • XHTML이나 기타 스크립트 언어를 경험한 사용자라면 쉽게 JSP를 다룰 수 있다.

 

JSP 개발 환경 도구

  • 자바 개발 환경 : JDK
    JSP는 HTML 코드 내에 자바 코드를 작성하기 때문에 자바 개발 도구인 JDK가 반드시 설치되어 있어야 함
  • 웹서버 : Tomcat
    웹 프로그래밍 언어로 작성된 웹 페이지가 실행되어 웹 브라우저에 나타나도록 하기 위해 웹 컨테이너를 설치해야 함. JSP 웹 컨테이너로 자주 사용되는 것 중에서 가장 유명한 것은 톰캣이다. 톰캣은 오픈소스 프로젝트로서 무료로 누구나 사용가능하다.
  • 통합개발환경 (IDE) : Eclipse  JSP 코드를 작성한 후 이를 컴파일하여 오류를 검사하고 실행 결과를 확인할 수 있다.

■ Web Server

1 소프트웨어적인 측면 : client(웹 브라우저)로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지에 반응하는 컴퓨터 프로그램
2 하드웨어적인 측면 : client로부터 들어온 요청을 처리할 소프트웨어를 실행할수 있는 컴퓨터

 

■ WAS(Web Application Server)


인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)로 다음의 기능들을 제공한다. 
1 응용 프로그램과 데이터베이스와의 원활한 접속 및 처리
2 여러 개의 트랜잭션에 대한 원활히 관리
3 비즈니스 로직 수행

 

서블릿 (Servlet)

  • 클라이언트의 요청을 처리하고, 그 결과를 반환하는 서블릿 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술이다. 서블릿이란 자바를 사용하여 웹을 만들기 위해 필요한 기술이다. 그런데 좀더 들어가서 설명하면 클라이언트가 어떠한 요청을 하면 그에 대한 결과를 다시 전송해주어야 하는데, 이러한 역할을 하는 자바 프로그램이다. 예를 들어, 어떠한 사용자가 로그인을 하려고 할 때. 사용자는 아이디와 비밀번호를 입력하고, 로그인 버튼을 누른다. 그때 서버는 클라이언트의 아이디와 비밀번호를 확인하고, 다음 페이지를 띄워주어야 하는데, 이러한 역할을 수행하는 것이 바로 서블릿이다. 그래서 서블릿은 자바로 구현된 CGI라고 흔히 말한다.
  • CGI(Common Gateway Interface) : 별도로 만들어 놓은 프로그램에 HTML의 Get or Post 방법으로 클라이언트의 데이터를 환경변수로 전달하고, 프로그램의 표준 출력 결과를 클라이언트에게 전송하는 것, 즉, 자바 어플리케이션 코딩을 하듯 웹 브라우저용 출력 화면을 만드는 방법

 

서블릿 컨테이너 (Servlet Container)

클라이언트의 요청을 받아주고 응답할 수 있게, 웹서버와 소켓으로 통신하며 대표적인 예로 톰캣이 있다.

  • 웹서버와의 통신 지원
  • 서블릿 생명주기(Life Cycle) 관리
  • 멀티쓰레드 지원 및 관리
  • 선언적인 보안 관리



JSP 개발 및 동작 구조

JSP는 기본적으로 HTML 문서의 형식을 가진다. 물론 확장자는 .jsp여야 하며 page 지시어를 포함해야 한다. page 지시어를 포함한 JSP의 문서 구조는 뒤에서 다시 다룬다.

서블릿 컨테이너는 JSP 파일을 서블릿 구조의 .java 소스코드로 변환하며 컴파일을 수행한다. 컴파일이 완료되면 JSP는 더이상 파일로 부터 처리되는 구조가 아니라 컨테이너에 로드된 서블릿으로 동작하는 구조이다.

JSP 구성 요소

JSP 파일의 구성 요소는 다음과 같다.

  • 지시어(Standard Directives)
  • 액션(Standard Action)
  • 템플릿 데이터(Template Data)
  • 스크립트 요소(Script Element)
  • 커스텀 태그(Custom Tag)와 EL(Expression Language)

위와 같은 구성요소들은 각각 고유의 표기법과 속성등으로 구성되지만 결국에는 서블릿 형태의 소스로 변환되는 과정에서 자바 코드로 바뀌게 된다

 

'JSP' 카테고리의 다른 글

JSP 웹소켓(WebSocket) 만들고 활용하기  (0) 2023.04.15
MVC 패턴 이란?  (0) 2023.04.14
JSTL이란? JSTL 사용법  (0) 2023.04.11
JSP Scope의 4가지 개념과 쓰임  (0) 2023.04.04
JSP 내부객체  (0) 2023.04.04