[JSP 란 ?]
JSP는 html로만 이루어진 정적인 웹 페이지의 단점을 보완하여 동적인 웹 페이지를 보다 효율적으로 만들어 줄 수 있는 server side script
jsp내부에서 자바를 그대로 사용할 수 있어서 효율적이며 스크립트방식으로 프로그램이 가능하다.
*Dynamic page
- 원하는 정보를 클라이언트가 요청할 때 서버에서 실시간으로 작업을 처리하여 보다 동적으로 클라이언트에게 서비스
- 서버에서는 데이터베이스 작업이나 클라이언트가 원하는 작업을 대신 처리하고 그 결과만을 클라이언트에게 서비스
서버에서 작업을 처리한다는 의미에서 server page라는 말을 이용하고 있다.
동적인 페이지는 서버에서 처리하는 메커니즘을 두게 되는데 이때 이용되는 프로그램이 JSP
JSP는 자바를 서버환경에서 사용하는 스크립트 방식의 언어. 이 말은 서버 페이지 내에 자바를 그대로 가져다 사용할 수 있다는 것.
*
JSP내부에는 보여주는 코드만 작성하고, 직접 작업하는 부분은 자바빈으로 구성하여 분리 할 수 있다.
서로 영향을 주지 않고 수정할 수 있는 장점을 가지고 있다.
jsp가 실행되기 위해서는 jsp스크립트가 포함되어진 jsp파일을 servlet파일로 변환하는 과정을 거친다.
>> 클라이언트의 요청이 있을때 또는 jsp파일이 변경 되었을 때 새로운 것을 로딩 하기 위해 이루어진다. 한번 로딩되면 그 다음부터는 로딩된 servlet객체를 재사용한다.
servlet으로 변환 후 컴파일과정을 거친다. servlet파일은 .java형태로 되어있다. 자바파일을 실시간에 컴파일 한다.
그리고 난 다음 servlet컨테이너는 해당 클래스를 이용하여 객체를 생성, 로딩하게 된다.
로딩된 객체는 서비스를 시작할 수 있다.
* jsp내부의 주기
클라이언트에서 jsp문서를 클릭하게 되면 jsp문서는 servlet으로 변환되고,
그 변환된 servlet에서 처음으로 jspinit메서드가 호출된다.
jspinit메서드: jsp에서 변환된 servlet의 초기화 및 서비스를 시작하기 위한 준비를 하는 메서드.
그리고 서블릿에서 init메서드가 service메서드를 호출하듯이 jsp의 jspinit메서드는 _jspServlce메서드를 호출한다.
_jspService메서드는 클라이언트에서 요구한 작업을 수행하는 메서드.
두번째 클라이언트의 요청이 있을때 부터는 _jspServlet메서드를 호출하여 클라이언트의 요청에 대응하게 될 것이다.
_jspServlce메서드는 클라이언트의 요청 방식인 Get과 Post방식을 모두 처리할 수 있다.
jspDestroy메서드: 서블릿객체가 더 이상 서비스를 하지 않고 있는 경우 메모리에서 제거되며 이때 호출되어지는 메서드
>>jspinit과 jspDestroy는 단 한번 호출하게 되며 클라이언트의 요청에 따라 _jspService메서드는 요청이 있을 때마다 호출하게 된다.
용어정의 (0) | 2012.05.17 |
---|---|
JSP 표현언어 (0) | 2012.05.17 |
[네번째] JSP 란? (0) | 2012.05.17 |
[세번째] JSP 란? (0) | 2012.05.17 |
[두번째] JSP 란 ? (0) | 2012.05.17 |