1. Java, Eclipse Installation

(http://sens.tistory.com/129)


2. Apache Tomcat 7.0 Download and Installation(apache-tomcat-7.0.32.exe)

  • 다운로드: http://tomcat.apache.org/
  • 설치 시 포트설정: 기본값(8080)
  • 시스템 트레이에서 Apache Tomcat Service를 Start/Stop 제어할 수 있다.


3. Eclipse - Tomcat Linkage

  • Window > Preferences > Server 서브메뉴 > Runtime Environments > Add > 설치한 Apache Tomcat 버전 선택 > Browse > Tomcat 설치 경로 지정 > Finish


4. Confirming

  • File > New > Dynamic Web Pages > Project name, Target runtime(Apache Tomcat 7.0), Module version 설정 > Finish
  • 작업 창 좌측에 Project Workspace > "Project name" > WebContent > 마우스 오른쪽 버튼 > New > JSP File
  • 간단한 JSP 코딩 > 컴파일 > Always use this server when running this project 체크 > Finish > 결과확인



※ External Database Connecting

  • MySQL Connector/J .zip파일 다운로드(http://dev.mysql.com/downloads/connector/j/) > 압축해제
  • mysql-connector-java-5.1.22-bin.jar파일을 C:\Program Files\Java\jre7\lib\ext, C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib 에 각각 복사


※ What is JSP(Java Server Page)? (출처: http://cafe.naver.com/jobstartgogo/13638)

자바를 서버환경에서 사용하는 스크립트 방식의 언어로 단일 스레드로 클라이언트의 요청에 서비스한다. 요청이 있을 때마다 프로세스를 생성하는 기존의 CGI와는 달리 하나의 메모리를 공유하면서 서비스되는 원리는 서버 측에 부하를 줄여주며, JSP 내부에는 보여주는 코드만 작성하고, 직접 작업하는 부분은 자바 빈으로 구성하여 분리 할 수 있다. 이것은 서로 영향을 주지 않고 수정할 수 있는 장점을 가지고 있으며, JAVA의 장점인 재사용성을 높일 수 있다.

 

JSP 동작 원리

URL > DNS서버 > 웹 서버(JSP 페이지요청) > 웹 서버는 *.jsp 로 들어온 요청에 대해서 JSP 컨테이너로 전송 > JSP 파일 파싱 > 서블릿 생성 > 생성된 서블릿 컴파일 > 컴파일 된 클래스 파일을 메모리에 적재 > HTML 형태인 응답을 사용자에게 전송 > 용자의 브라우저에서 HTML 실행

 

JSP Life Cycle

JSP가 실행되기 위해서는 JSP 스크립트가 포함되어진 JSP 파일을 Servlet 파일로 변환하는 과정을 거친다. JSP 변환 서블릿 프로그램은 _jspInit(), _jspService(), _jspDestroy()의 세 가지 메소드에 의해서 초기화, 서비스, 파괴의 과정을 거친다. 즉, _jspInit() 과 _jspDestroy() 는 단 한번 호출하게 되며 클라이언트의 요청에 따 _jspService() 메소드는 요청이 있을 때 마다 호출하게 된다.

 

액션 태그와 커스텀 태그

액션 태그: 

  • <jsp:include page="포함할 페이지"/> 다른 페이지의 처리 결과인 동적인 내용도 포함시킨다.
  • <jsp:forward page="이동할 페이지"/> 이동할 페이지로 현재 페이지의 request와 response 객체를 전달하기 때문에 이동되는 페이지에서도 원래 요청한 페이지의 객체를 그대로 사용할 수 있다.
  • <jsp:useBean id="객체명" class="자바클래스명"/> 자바빈즈를 사용할 때 자바빈즈 클래스 객체 생성을 위한 태그이다.
  • <jsp:getProperty name="객체명" property="속성"/> 자바빈즈의 프로퍼티 값을 가져온다.
  • <jsp:setProperty name="객체명" property="속성"/> 자바빈즈의 프로퍼티 값을 수정한다.


커스텀 태그: 개발자가 직접 개발. 중복되는 것들을 모듈화하며, 복잡한 소스를 간편화 시켜준다.

 

JDBC

자바에서 데이터베이스를 제어하기 위해 지원하는 Java DataBase Connectivity를 JSP에서도 사용할 수 있다. JDBC API는 자바 응용 프로그램에서 데이터베이스를 연결하고 데이터를 제어할 수 있도록 데이터베이스 연결 및 제어를 위한 인터페이스와 클래스들을 제공한다. JDBC 드라이버 매니저는 자바 응용 프로그램이 사용하는 데이터베이스에 맞는 드라이버를 찾아서 JDBC를 초기화한다.