수요일, 4월 24
Shadow

#002 웹프로그래밍 기초

1. JSP란 무엇인가?
JSP 즉, JavaSever Pages는 스크립트 언어이며, 다음과 같은 특징을 가지고 있다.
– 자바언어를 기반으로 하는 스크립트 언어로서 자바가 제공하는 기능을 그대로 사용할수 있다.
– HTTP와 같은 프로토콜에 따라 클라이언트의 요청을 처리하고 응답한다.
– HTML, XML등 클라이언트가 요청한 문서를 생성하는데 주로 사용된다.
– 서블릿/EJB등의 엔터프라이즈 기술들과 잘 융합된다.
– 표현언어, 표현식, 스크립트릿 등 다양한 스크립트 요소와 액션 태그 등을 제공함으로써 보다 쉽게 웹 어플리케이션을 프로그래밍 할수 있도록 도와준다.

자바언어를 그대로 사용할수 있다는 것은 JSP의 가장큰 장점중 하나다.

JSP는 HTTP프로토콜을 알맞게 처리할수 있도록 되어있다. 웹브라우저가 전송한 데이터를 읽어오고 생성한 데이터를 웹 브라우저에 전송한 것 처럼 웹 어플리케이션을 개할하는데 필요한 기능들을 스크립트 차원에서 제공하고 있다.
사용자의 세션을 쉽게 관리 할 수 임ㅆ도록 자체적으로 새션 기능을 제공하고 있다.
JSP는 주로 웹 브라우저의 요청에 따라 알맞은 HTML 결과 화면을 생성하기 위해 사용된다. HTML 뿐만 아니라 XML, PDF등 다양한 문서를 생성하는데도 JSP를 사용할수 있다.

여기에서 설명하는 JSP 2.1은 J2EE 5의 규약이 포함되어 있다.


2. 웹 컨테이너
웹컨테이너는 이름 그대로 웹 어플리케이션을 실행 할수 있는 컨테이너이다. 자바에서 웹어플리케이션은 JSP와 서블릿으로 구현되므로 자바에서의 웹 컨테이너는 밑에 그림과 같이 구성된다.

웹컨테이너 = JSP 컨테이너 + 서블릿 컨테이너

JSP컨테이너
-JSP요청에 대한 전반적인 관리를 한다 사용자가 요청하는 것이 웹서버는 요청이 jsp파일인것을 인지하고, 작업을 JSP컨테이너에게 시킨다.JSP컨테이너는 적절한 작업을 하고, 그 작업을 통해 돌려주는 것이 서블릿이다
-JSP파일을 서블릿을 변환하는 것이다. 실제로 사이트를 만들고 웹브라우저에서 어느 JSP페이지를 요청하면 그 JSP에 해당하는 클래스파일이 생긴다. 이것이 서블릿이다
-컴파일해서 *.class파일로 컴파일하고 컴파일된걸로 실행해서 웹서버에게 이 결과를 돌려준다. 웹서버는 그 결과를 받아서 HTML형태로 사용자에게 응답을 해주게 된다.이것도 JSP페이지의 최초의 요청시의 일어나는 작업이고, 두번째부터는 중간과정이 생략된다

서블릿 컨테이너
JSP컨테이너와 기능은 같다. 다만  JSP컨테이너는 서블릿으로 변환하는 파싱과정이 하나 더 있다는 것이다.

3. JSP를 사용하는 이유
– 자바 언어를 기반으로 하고 있기 때문에 플렛폼에 상관없이 사용할 수 있다.
– 자바 언어에 대한 깊은 이해가 없더라도 빠르게 배울수 있다.
– 대규모 어플리케이션을 구현 할 때  사용되는 스피링이나 스트럿츠와 같은 프레임워크와 완벽하게 연동되며, 금융권에서 많이 사용되는 EJB 기술과 도 오나벽하게 연동된다.

4. JSP 동작 원리

5. 기타 내용 :
▩ WEB, 서버쪽 프로그래밍과 클라이언트쪽 프로그래밍 개론 

1. 클라이언트 쪽 스크립트
– 브러우저(인터넷 익스플로러)에 HTML, JavaScript, XML 해석기가 설치되어 있어 분석과 실행이 되어 출력.
– HTML:출력 결과를 보여주는 태그로 구성 (HTML 4.0 = DHTML)
데이터를 가지고 있는 매우 약하나 데이터를 일정한 형식으로 출력하는 기능을 주로 가지고 있다.
(XML은 데이터 표현과 관련해서 많은 기능을 가지고 있다.)

2. 서버쪽 스크립트
– 서버에 설치된 서블릿 컨테이너(Tomcat, Resin, Weblogic)에서 실행된다.
– HTML은 자료를 처리, 저장, 검색하는 기능이 없고 단지 출력하는 기능만 가지고 있다. 따라서 이런 데이터를 처리하려면 DBMS(Oracle, MySQL)같은 데이터베이스가 필요하며, 이 데이터베이스에 접속하기위해서 서버스크립트(JSP, PHP, ASP.NET)가 필요하다.
– HTML은 보안성이 없음으로 DBMS에 바로 접속할 수 없습니다. HTML은 누구나 소스를 열어볼 수 있다. 따라서 DBMS에 접속하면면 반드시 서버스크립트를 써야한다.
– JSP: SUN의 서버쪽 스크립트 기술, 모든 운영체제 지원, JAVA 기반, Servlet Container를 설치해야 실행 할 수 있다.
– ASP.NET: MS의 스크립트 기술, MS 운영체제만 지원, C# 기반, 윈도우에 웹서버가 기본적으로 설치되어 있으며, .NET Framework를 설치해야 실행 할 수 있다.
– ASP: MS의 서버쪽 스크립트 기술, MS 운영체제만 지원, Visual Basic 기반, IIS의 asp.dll이 처리하여 HTML로 결과를 생성함, 별다른 서버설치가 필요 없음, 유지보수, 수정이 매우 어렵다.
– PHP: 서버쪽 공개 스크립트 기술, 모든 운영체제 지원, C 기반, 관련 dll파일이 처리, 속도가 느리고 유지보수, 수정이 매우 어렵다.

3. 서블릿을 이용한 구성
– CGI에 비해 Thread 기술을 이용하여 동시접속자로 인한 과부하를 많이 해소했다.
– 자바 기반 Web Application 구축 기술중에 가장 빠른 속도를 가지고 있다.
– Servlet의 단점은 디자인 부분과 혼합하여 작업하기가 매우 어렵다.
– 속도는 JSP에 비하여 컴파일 단계가 생략됨으로 빠른 형태를 가지고 있다.
– JSP가 Servlet으로 변환되는 과정에서 불필요한 코드가 많이 발생하나 서블릿은 이 과정이 생략되어 있어 속도가 매우 빠르다.
– 확장자가 java로 개발되어 .class 이다.(jsp파일은 확장자가 *.jsp이다.)

4. JSP를 이용한 구성
– Servlet의 불편한 디자인 부분을 좀더 간결하게 제작하도록 개선된 서버 스크립트이다.
– 하나의 JSP페이지에는 HTML, JavaScript, Java Code등이 혼합되어 존재하게 된다.
– 디자이너가 작업한 내용이 JSP 페이지로 변경된다.
– 변경된 JSP 페이지를 개발자가 코드 작업을 하게된다.
– 대형 사이트의 경우 유지보수 및 기능 확장이 어려워 나중에 JSP, Beans로 분리되게 된다.

5. JSP + Beans 를 이용한 구성
– JSP는 사이트 구축시 디자이너가 작업하게 되며, 일부 jsp 개발자가 코드 작업을 하게된다.
. 디자인쪽 비중이 매우 크다.
– BEANS는 콤포넌트 자바 개발자가 Business Logic(Process Logic)를 구현하는 목적으로 사용된다.
. DB관련 INSERT, UPDATE, DELETE, SELECT등

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.