[01-D1] Script, Servlet의 이해, JDK6, TOMCAT 6.0 Install
[01] WEB, 서버쪽 프로그래밍과 클라이언트쪽 프로그래밍 개론
※ 작업 폴더 만들기
– D:/200807_jsp1000
D:/200807_jsp1000/html
D:/200807_jsp1000/install_backup
– Editplus 설치: http://www.editplus.com
1. 클라이언트 쪽 스크립트
– 브러우저(인터넷 익스플로러)에 HTML, JavaScript, XML 해석기가 설치되어
있어 분석과 실행이 되어 출력됩니다.
– HTML:출력 결과를 보여주는 태그로 구성 (HTML 4.0 = DHTML)
데이터를 표현하는 기능은 매우 부족하나 데이터를 일정한 형식으로 출력하는
기능을 주로 가지고 있습니다.
(XML은 데이터 표현과 관련해서 많은 기능을 가지고 있습니다.)
>>>>> html/test.html
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html xmlns=”http://www.w3.org/1999/xhtml“>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=euc-kr” />
<title>Untitled Document</title>
</head>
<body>
<p>JSP 수업입니다.</p>
<p>생활신조: 최선을 다하자. </p>
<table width=”500″ border=”1″ cellspacing=”0″ cellpadding=”0″>
<tr>
<td><div align=”center”>성명</div></td>
<td><div align=”center”>전화번호</div></td>
</tr>
<tr>
<td>가길동</td>
<td>02-6258-8000</td>
</tr>
<tr>
<td>나길동</td>
<td>02-6258-8000</td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td height=”113″ colspan=”2″><table width=”300″ height=”89″ border=”0″ align=”center” cellpadding=”0″ cellspacing=”0″>
<tr>
<td bgcolor=”#FF0000″> </td>
<td bgcolor=”#00FF00″> </td>
<td bgcolor=”#0000FF”> </td>
</tr>
<tr>
<td bgcolor=”#FFFF00″> </td>
<td bgcolor=”#00FFFF”> </td>
<td bgcolor=”#FF00FF”> </td>
</tr>
<tr>
<td bgcolor=”#CC6633″> </td>
<td bgcolor=”#666600″> </td>
<td bgcolor=”#FF9900″> </td>
</tr>
</table></td>
</tr>
<tr>
<td colspan=”2″><div align=”center”>HTML 테스트입니다. </div></td>
</tr>
</table>
<p> </p>
</body>
</html>
– JavaScript, VBScript: 웹페이지상에서 클라이언트(브러우저)의 이벤트를 받음
– CSS(Cascading Style Sheet): 단순한 HTML태그를 화려하게 꾸미는 역활을 함
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파일이 처리, 속도가 느리고 유지보수, 수정이 매우 어렵습니다.
[02] 서블릿의 이해
1. 초창기 CGI의 인터넷 구성
– 메모리 낭비가 매우 심하다.
(접속자 별로 메모리 공유가 안되는 프로세스가 발생합니다.)
– 인터넷 사용량(Traffic)의 증가로 서서히 사라짐
WEB BROWSER –> INTERNET –> WEB SERVER –> HTML FILE
↑
│
CGI ————- DBMS(ORACLE)
(CGI : C, VC++, VB 언어 사용, CGI를 호출하는 접속자의 수 만큼 Process가 생성됨)
2. 서블릿을 이용한 구성
– CGI에 비해 Thread 기술을 이용하여 동시접속자로 인한 과부하를 많이 해소했습니다.
– 자바 기반 Web Application 구축 기술중에 가장 빠른 속도를 가지고 있습니다.
– Servlet의 단점은 디자인 부분과 혼합하여 작업하기가 매우 어렵습니다.
– 속도는 JSP에 비하여 컴파일 단계가 생략됨으로 빠른 형태를 가지고 있습니다.
– JSP가 Servlet으로 변환되는 과정에서 불필요한 코드가 많이 발생하나
서블릿은 이 과정이 생략되어 있어 속도가 매우 빠릅니다.
– 확장자가 java로 개발되어 .class 입니다.(jsp파일은 확장자가 *.jsp입니다.)
WEB BROWSER –> INTERNET –> WEB SERVER –> SERVLET ENGINE –> JVM <—> DBMS(ORACLE)
IIS Tomcat (Servlet 실행)
Apache Resin
Tomcat Webspeare
Resin J2EE
Weblogic
IE <————– HTML <——- Servlet Class(DB 처리 Logic, .CLASS 형태)
3. JSP(Java Server Page)를 이용한 구성
– Servlet의 불편한 디자인 부분을 좀더 간결하게 제작하도록 개선된 서버 스크립트입니다.
– 하나의 JSP페이지에는 HTML, JavaScript, Java Code등이 혼합되어 존재하게 됩니다.
– 디자이너가 작업한 내용이 JSP 페이지로 변경됩니다.
– 변경된 JSP 페이지를 개발자가 코드 작업을 하게됩니다.
– 대형 사이트의 경우 유지보수 및 기능 확장이 어려워 JSP, Beans로 분리되게 됩니다.
WEB BROWSER –> INTERNET –> WEB SERVER –> SERVLET ENGINE –> JVM <—> DBMS (ORACLE, MS-SQL)
IIS Tomcat (Servlet 실행)
Apache Resin
Tomcat Webspeare
Resin J2EE
Weblogic
IE <————– HTML <——- JSP –> Servlet으로 변환
————————
*.jsp –> *.java –> *.class
4. JSP + Beans 를 이용한 구성
– JSP는 사이트 구축시 디자이너가 작업하게 되며, 일부 jsp 개발자가 코드 작업을 하게됩니다.
. 디자인쪽 비중이 매우 큽니다.
– BEANS는 콤포넌트 자바 개발자가 Business Logic(Process Logic)를 구현하는 목적으로 사용됩니다.
. DB관련 INSERT, UPDATE, DELETE, SELECT등
WEB BROWSER –> INTERNET –> WEB SERVER –> SERVLET ENGINE –> JVM <—> DBMS (ORACLE, MS-SQL)
IIS Tomcat (Servlet 실행)
Apache Resin
Tomcat Webspeare
Resin J2EE
Weblogic
IE <————– HTML <——- JSP –> JSP Beans
— ———
*.jsp *.java
[03] JDK 6 Install
1. jdk1.6.0을 설치 합니다.
– 자바 지원 공식 홈페이지: http://java.sun.com
– 기본에 SDK가 있으면 [프로그램 추가/삭제]에서 삭제합니다.
– 환경변수 지정시 같은 변수명이 사용자 환경변수를 삭제후 시스템 변수에 등록합니다.
– CLASSPATH = .;C:jdk1.6.0libtools.jar 추가
– PATH에 C:jdk1.6.0bin 추가
. 오라클 9i설치된 경우 오라클에 내장된 jre1.3.1, jre 1.1.8이 인식이 됨으로 이것을 PATH에서 지워야 합니다.
. 기본의 윈도우 프로그램이 실행이 되어야 하기 때문에 기존의 경로를 지운 경우는 아래처럼 수정해 주세요.
C:jdk1.6.0bin;%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;
– echo %PATH%, echo %CLASSPATH% 로 확인
– 설치후에는 폴더명을 바꿀수 없음으로 삭제 후 재 설치합니다.
[04] Tomcat 6.0 의 설치
– JSP Sever(JSP Container, Servlet Container)는 JSP 코드 및
JAVA 코드를 해석하여 처리하고 결과를 HTML 변환해 브러우저로
출력합니다.
– Tomcat 5.0.X은 J2SE 1.3.X이상 설치해야 가능합니다.
– Tomcat 5.5.X는 J2SE 5.0이상 설치해야 가능합니다.
– Tomcat 6.X는 J2SE 6.0(1.6)이상 설치해야 가능합니다.
– Tomcat은 Application간에 메모리가 공유됨으로 하나의 JSP 사이트가
문제가 생기면 다른 웹사이트도 영향을 받게 됩니다. 따라서
Tomcat에는 하나의 Web Application만 설치를 권장합니다.
– Tomcat과 비슷한 서버로 Resin, JRun, 각종 EJB(Weblogic) 서버에 내장
1. http://tomcat.apache.org/에서 톰캣 을 다운 받습니다.
2. 설치될 폴더는 F:/200807_jsp1000/tomcat-6.0/bin 로 지정합니다.
3. [내컴퓨터-고급 – 환경변수] 아래의 항목이 등록되어 있어야 합니다.
– conf/server.xml을 수정합니다. 67번 라인 근처
. Oracle 9i이상은 Apache, XDB가 설치되어 있어 8080포트를 이용하기 때문에 포트
충돌을 막기위해 8080을 사용하지않고 다른 포트로 변경합니다.
<Connector port=”8081″ protocol=”HTTP/1.1″
connectionTimeout=”20000″
redirectPort=”8443″ URIEncoding=”KSC5601″ />
– C:/200807_jsp1000/tomcat_start.cmd
. REM은 주석 문이며 각 수업 시간에 맞게 폴더를 변경해야 합니다.
—————————————————————————-
REM 파일명: C:/200807_jsp1000/tomcat_start.cmd
REM 자바가 설치된 폴더
REM ————————————–
SET JAVA_HOME=C:jdk1.6.0
REM 톰캣이 설치된 폴더
REM ————————————–
SET TOMCAT_HOME=F:200807_jsp1000tomcat-6.0
SET CATALINA_HOME=F:200807_jsp1000tomcat-6.0
REM 톰캣 실행
REM ————————————–
F:
CD F:200807_jsp1000tomcat-6.0bin
startup.bat
—————————————————————————-
– http://127.0.0.1:8081/
http://localhost:8081/
http://172.16.7.1:8081/
. 127.0.0.1: Local Computer 자신을 지정하는 예약된 IP입니다.
[05] 기본적인 HTML의 출력
1. Application을 저장할 폴더를 Tomcat에 생성합니다.
– /tomcat-6.0/webapps/test : test Web Application root
/tomcat-6.0/webapps/test/WEB-INF : xml, tld등의 환경 설정 파일
/tomcat-6.0/webapps/test/WEB-INF/lib : *.jar 확장자의 자바 Library
/tomcat-6.0/webapps/test/WEB-INF/classes: servlet, beans가 위치
2. webapps/test 폴더안에 “test.html”를 복사합니다.
3. 접속 주소
– http://localhost:8081/test/test.html
– http://127.0.0.1:8081/test/test.html
– http://172.16.7.1:8081/test/test.html