Study/WebServer

JSP

Gyuri 2021. 8. 22. 21:16

인터넷과 웹의 개요 (서로 다른 개념)

 -인터넷 : 컴퓨터가 서로 연결돼있는 전세계의 컴퓨터 네트워크. TCP/IP 통신 프로토콜을 이용함

 -웹 : 인터넷에 연결된 컴퓨터들을 통해 정보를 공유하기 위한 정보 공간

 

 

웹의 동작원리 : 기본적으로 클라이언트/서버 방식으로 동작

 -요청 : 클라이언트에서 서버로 정보 요구하기 위해 보내는 메세지. GET방식 & POST 방식이 있음

 -응답 : HTTP에서 요구된 메세지에 대한 응답, HTML, 이미지 등이 응답의 내용이 됨

 -널리 쓰이는 웹 어플리케이션 서버 : 아파치, 톰캣, IIS 등

 

 

★정적 웹 페이지와 동적 웹 페이지

- 정적 웹 페이지(static) : 10번을 봐도 똑같은 페이지. 컴퓨터에 저장된 텍스트 파일을 그대로 보는 것

- 동적 웹 페이지(dynamic) : 조건이 달라지면 결과도 달라지는 페이지.

(예 : 유튜브, 백과사전 등) 기존의 웹 서버에 새로운 기능을 가진 프로그램을 탑재해 동적으로 HTML을 생성요청에 맞게 정제된 HTML 문서를 사용자에게 전달 (<->정적 웹페이지 : 이미 준비된 문서 전달)

 

 

CGI : 동적 웹 페이지를 만들기 위한 기술. 웹서버-동적 컨텐츠 생성 맡은 프로그램 사이에서 정보 주고받는 인터페이스. 초기 웹 프로그래밍에 사용됐음. 프로세스 단위로 실행돼 사용자 증가 시 급격한 성능 저하

 

확장 CGI : 전통적인 CGI 방식 단점 보완. 프로세스 생성방식의 변화로 시스템의 부하 줄임

 -ASP : MS사에서 만든 확장 CGI로, 주로 MS 기반의 웹서버 혹은 OS에 최적화 돼있어 사용폭이 제한

 

 -PHP : ASP와는 달리 특정 영역에서만 동작 하지는 않으나, 주로 패키지로 궁합이 잘 맞는 상대가 존재함(AMP).

명령어가 적고 단순해 기능들이 미약함. C언어와 비슷한 문법 사용. 리눅스처럼 소스 공개돼있음. 윈도우, 유닉스 운영체제 지원, 아파치, IIS 서버 등 지원

 

 -Servlet : Sun사, 자바 언어로 기반으로 해 동적인 컨텐츠 생성. 완전한 자바파일의 형태. 자바 코드 안에 HTML 태그 혼재돼있어서 작업에 대한 분리적인 측면에서 효율성 떨어짐. jdk가 컴파일을 하려면 java 파일로 변환해야 해서 JSP 페이지를 실행 하려면 서블릿으로 변환됨.

 

 -JSP : Sun사, 자바 언어로 기반으로 하는데, HTML태그 내에 (그 사이에) 필요 시 스크립트 언어로 기능구현해 프로그램을 작성함(스크립트 기반). 개발자들의 접근이 쉬움.

 

 

 

동적 웹 페이지 처리 기술

 -서버측 스크립트 : 서버 안에서 동적인 컨텐츠 생성을 담당하는 기술(JSP,PHP,ASP등). HTML과 스크립트 언어를 함께 사용할 수 있는 기술로 웹 서버에서 해석(실행). 데이터 베이스 연동 처리 등 다양한 구현 가능

 -클라이언트측 스크립트 : 웹 브라우저에서 실행되는 언어 (자바스크립트, node.js)

 

JSP : 서버측 웹 프로그래밍 언어 중 하나로, 자바를 기반으로 하며 객체지향적임.  서블릿(Servlet) 기술의 확장임. 플랫폼이 비교적 자유롭고, 서블릿에 비해 코드가 친근하고 쉬움, 유지관리 용이.

 

JSP 페이지의 처리 과정

JSP 컨테이너 : 톰캣 (Tomcat)

JSP 컨테이너에서 컴파일 결과를 웹서버(문지기 역할)에 알려줌 -> 클라이언트한테 가공된 문서를 줌

 

 

JSP 개발 환경 도구

 -자바 개발환경 : JDK (JSP는 HTML 코드 내에 자바 코드를 작성하기 때문에 자바 개발도구인 JDK 반드시 설치돼있어야 함)

 -웹서버 : 톰캣 (아파치 소프트웨어재단에서 개발한 웹 애플리케이션 서버. 자바로 만들어진 웹 페이지를 구동하기 위한 엔진)

 -통합 개발 환경 : 이클립스 (JSP 코드를 작성한 후 이클립스에 연동된 JDK를 통해 컴파일을 하거나 오류를 검사하고 실행 결과를 확인할 수 있음)