JSP 시작 전 기본으로 알아야 하는 것...
(1) JAVA의 기본 -> JSP는 JAVA 언어를 기반으로 하기 때문이다.
(2) HTML의 기본 -> JSP는 주로 HTML의 응답을 생성하는 것이 목적이기 때문이다.
목차
웹 프로그래밍의 이해 웹 프로그래밍 언어의 종류 웹 서비스 CGI 방식과 WAS 방식 JSP의 개요
웹 서버
웹 브라우저의 요청을 받아 해당하는 웹 페이지를 찾아서 보내주는 역할로, 웹 브라우저로부터 URL을 받아서 그에 해당하는 HTMl 문서를 찾아서 웹 브라우저로 보내 준다. 웹 서버 쪽에 저장되어 있는 이미지 파일이나 HTML 파일은 데이터가 바뀌지 않는 정적 자원 이다.
웹 어플리케이션 서버(WAS)
특정 조건에 따라 응답 데이터가 달라지도록 만들어진 웹 어플리케이션을 실행하는 컨테이너로, 웹 어플리케이션에 의해 생성되는 HTML 문서 등의 자원은 동적 자원 이다.
CGI (Common Gateway Interface)
월드 와이드 웹(WWW) 서버와 백 엔드 프로그램(게이트웨이에 해당) 사이에서 정보를 주고받는 데 사용된다. 서비스 시, 자원을 많이 사용한다는 단점이 있다.
ASP(Activate Server Page)
마이크로소프트 사에서 만든 언어로, VisualBasic이라는 언어에서 사용되는 문법을 사용하여 동적 컨텐츠를 만든다. ActivateX 컴포넌트 사용 및 개발이 가능하지만, 특정 웹 서버와 OS에서만 동작한다는 단점이 있다. (윈도우 플랫폼에서 웹 서버는 IIS(Internet Information Server)만 사용...)
PHP(Personal HomPage, PHP-Hypertext Preprocessor)
C언어의 문법과 유사하여 기존 개발자들의 접근이 용이한 언어이다. 적은 명령어들로 프로그래밍이 가능하여 편리하지만, 많은 요구들에 대한 지원 기능이 미약하다.
Servlet / JSP
웹 브라우저의 요청을 받아서 결과를 웹 브라우저에 전송한다. 프로그램 처리가 필요하면 애플리케이션 서버를 사용하거나 프로그램을 호출하여 처리한다. HTML, CSS, JavaScript를 웹 브라우저에 제공하는 역할을 한다. 대표적으로 Apach 등이 있다.
기능을 실행하고 그 결과를 응다븡로 웹 서버에 전달하는 역할을 한다. 대표적으로 Tomcat, WebLogic, Jboss 등이 있다.
데이터를 저장하는 역할을 한다. 대표적으로 Oracle, MySQL, MSSql 등이 있다.
코딩하고 실행할 수 있는 데이터와 컴파일러를 연결해 주는 역할을 한다. (Eclipse, Visual Studio Code, Xcode 등등... 되게 많음...)
TCP/IP를 기반으로 웹에서 사용하는 프로토콜로서, 요청(Request)과 응답(Response) 데이터를 전송하는 방식이다.
HTTP 요청 시 주요 구성요소는 HTTP 메서드(실행할 액션), 접근하고자 하는 URL, Form 파라미터가 있다.
HTTP 응답 시 주요 구성요소는 상태 코드(요청 처리에 대한 성공여부), 컨텐츠 타입 및 내용이다.
여기서 URL(Uniform Resource Locator)은 클라이언트가 웹 서버에 존재하는 자원(정보, 파일 등)을 검색하고 해석하는 데 필요한 네트워크 서비스의 표현식이다. 클라이언트의 웹 브라우저 주소란에 다음과 같은 문접으로 입력한다.
[프로토콜]://[호스트][:포트]/[경로][파일명][.확장자][쿼리문자열]
ex) http://www.naver.com:80/index.html
포트번호는 프로토콜의 기본 포트인 경우에는 생략이 가능하다. 쿼리 문자열은 주소 뒤에 추가로 붙는 정보로, 매개변수의 개념이다. 웹 어플리케이션에 데이터를 전달할 목적으로 사용하며, '이름 = 값'의 형식으로 전달된다. 2개 이상인 경우에는 '&'로 구분하면 된다.
CGI 방식
웹 서버가 어플리케이션 프로그램을 직접 호출하는 구조이다. 어플리ㅔ이션 프로그램은 처리 방식에 있어서 프로세서를 생성하여 처리하게 되는데, 하나의 요청에 대해 한 개의 프로세스를 생성하여 처리한 후 종료한다.
WAS 방식
CGI 방식과는 달리 웹 서버가 어플리케이션 프로그램을 직접 처리하는 것이 아니라, 웹 어플리케이션 서버(WAS)에게 처리를 넘겨주고, WAS가 프로그램을 처리하는 방식이다. WAS 방식은 여러 명의 사용자가 동일한 페이지를 요청하여 같은 어플리케이션 프로그램을 처리할 때, 한 개의 프로세스만 할당하고 사용자의 요청을 스레드 방식으로 처리하는 것이다.
대망의... JSP란!!
자바 Servlet 기술을 확장한 것으로, Server 쪽 모듈을 개발하기 위한 기술이다. DBMS와 같은 백 엔드 서버와 연동하여 데이터를 가공한 결과를 웹 상의 최종 사용자에게 전달할 수 있고, 여러 조건에 따라 표출할 수 있도록 동적 처리 기능을 제공한다.
JSP의 특징!!
(1) 객체지향적
(2) 플랫폼 독립적
(3) 네트워크 지향적
(4) 뛰어난 보안성
(5) 멀티스레드 가능
(6) 친근한 코드...😟
해당 시리즈에 작성된 JSP 프로젝트들은!! Eclipse와 Apache Tomcat을 사용할 것입니당... 저는 WAS, 개발 툴(IDE) 다 설치된 상태 😏