오라클자바커뮤니티에서 설립한 개발자실무교육 6년차 오엔제이프로그래밍
실무교육센터
(신입사원채용무료교육, 오라클, SQL, 튜닝, 자바, 스프링, Ajax,
jQuery, 안드로이드, 아이폰, 닷넷, C#, ASP.Net) www.onjprogramming.co.kr
JSP개념의 이해
-----------------------------
1. JSP란
-----------------------------
* 동적으로 웹페이지를 생성하기 위한 자바 기반의 서버측 기술
* 즉, JSP1.1 사양은 HTML과 XML 템플릿들, 그리고 안전하며 빠른
서버플랫폼에 독립적인 자바코드를 이용하여, 동적으로 내용을
생성하기 위한 프레임웍을 제공
* JSP1.1 사양은 서블릿API를 확장한다.
* JSP와 서블릿은 J2EE를 구성하는 요소
* Sun Microsystems에 의해 개발된 JSP 스펙은 서버와 JSP 기술 기반 페이지
사이에서 상호작용을 정의하고 페이지의 형식과 구문을 기술한다.
* JSP 기술 기반 페이지들은 일반적으로 자바 플랫폼 서블릿 클래스들로 컴파일된다.
그 결과로서, JSP 기술 기반 페이지들은 자바 플랫폼 서블릿 스펙을 지원하는 자바
가상 머신을 요구한다.
* 자바를 기반으로 한 기술이기 때문에 자바라는 언어가 갖는 장점을 그대로 가지게
된다. 예를 들면 자바는 추상화, 예외 처리, 그리고 자동 메모리 관리 등과 같은
객체지향 언어가 갖는 특징들을 가짐으로써 개발자에게 보다 강력하고도 생산적인
코드를 만들어내게 한다.
* CGI 프로그램은 사용자로부터의 요청이 있을 때 각 요청에 대해 하나의 프로세스를
생성해야 하지만 JSP에서는 쓰레드를 발생시켜 서버가 갖게 되는 부하를 많이
줄여준다
* JSP는 웹 페이지에 자바 코드를 직접 넣음으로써 동적인 컨텐츠 표현을 가능하게
한다. 또한 HTML과 유사한 태그를 포함시켜 서버쪽에 존재하는 자바 객체와의
대화를 가능하게 한다
* 웹의 내용으로부터 웹 표현을 분리함으로써 동적인 웹 페이지 제작을 위한 개발과
관리에 있어 명확한 작업의 분리가 가능하다
**** J2EE란?
엔터프러이즈 Application 개발에 대한 공식적인 자바프레임웍을 말하며,
Java2 EnterPrise Edition을 줄여서 말한것이다.
J2EE를 구성하는 API(표현-업무-데이터에 관련된순)
JSP
Servlet
XML을 위한 자바지원
EJB(Enterprise JavaBeans)
Java Messaging
자바 트랜잭션 지원
JavaMail
JNDI(Java Naming and Directory Interface)
JDBC
Corba에 대한 자바지원
--------------------------
HelloWorld를 찍어보자
--------------------------
1. [SimpleJSP.html]
<html><head><title>
Sinple JSP Example </title>
</head>
<body>
<p>How many times?</p>
<form method=get action=/jsp/SimpleJSP.jsp>
<input type=text size=2 name=numtimes>
<input type=submit>
</form></body></html>
2. [pagefooter.html]
<P>------ Simple JSP ----------------------
3. [SimpleJSP.jsp]
<%@ page language="java" %>
//Page 지시자Page가 자바코드로 쓰여짐을 표시함
<html><head><title><Simple JSP Example</title>
</head><body>
<p>
<% int numTimes = Integer.parseInt(request.getParameter("numtimes"));
for (int i=0;i < numTimes; i++) {
%>
Hello, world! <br> //이부분은 JSP엔진에 의해 처리되는게 아니고 브라우저에 직
//접전달
<%
}
%>
</p>
<%@ include file = "pagefooter.html" %> //pagefooter.html의 내용을 응답에 포함
</body></html>
---------------------
핼로우월드 작동방식
---------------------
1. 브라우저는 http://localhost/jsp/SinpleJSP.jsp?numtimes=5
라는 요청을 서버에 보낸다.(html에서 5라고 입력시)
2. 웹서버는 요청에 포함된 URL속의 .jsp라는 확장자를 파악후 이것이 JSP Page
임을 알고 JSP엔진에게 처리를 넘긴다.
3. JSP 페이지는 하나의 자바파일로 변환된후 하나의 서블릿 파일로 컴파일된다.
(이과정은 작성된후 처음또는 변경된후 처음 호출되는 경우에만 일어난다. )
4. 결국 JSP를 처음실행시는 시간지연이 발생, 변환후 컴파일된후에는 서블릿 바이트
코드가 메모리에 존재함으로 이후의 요청에대해 지연이 발생안함)
5. 서블릿은 처음 가상머신에 Laod될때 init()메소드가 호출되며 이메소드를 통해
서블릿의 초기화가 일어나며 이후 service 메소드가 불리어져 그안에서 응답이
만들어 진다.
6.서블릿은 각요청마다 service() 메소드를 수행할 새로운 Thread를 생성한다.
댓글 없음:
댓글 쓰기