2008년 12월 14일 일요일

맥에서 개발환경 구축 [톰캣 설치하기]

개발환경의 구축을 아래와 같이 크게 몇 가지 단계로 나누어 보았다. (일단 다른 부분은 생략)
  1. 톰캣(Tomcat)설치
  2. JDK 설치
  3. Eclipse 설치
Tomcat 설치
Tomcat은 무료로 배포되는 소프트웨어로 http://tomcat.apache.org를 통해 다운 받을 수 있다. 사이트를 방문하면 왼쪽에 각각의 버전에 대한 링크가 있는데 원하는 버전을 선택하여 다운 받으면 된다. 

현재 톰캣의 최신버전은 6.0.18로 되어 있다. 왼쪽의 Tomcat 6.x를 클릭하고 화면 하단의 Binary Distributions의 Core 중 tar.gz를 선택하여 다운로드 하면 된다.
일단 압축을 풀지 않은 상태에서 본인이 원하는 위치에 갖다 놓는다. 윈도우즈도 마찬가지지만 톰캣은 별도의 설치 작업 없이 사용할 수 있으므로, 폴더가 위치한 곳이 곧 설치 경로라고 생각해도 무리 없을 것 같다.

보통의 경우 응용프로그램 폴더에 설치하므로 응용프로그램 폴더로 복사한다.
복사한 tar파일을 더블클릭하면 압축이 풀리면서 폴더가 생성된다. 이제 tar 파일은 삭제해도 상관없다.

애플리케이션에서 터미널을 실행시킨다. (애플리케이션>유틸리티>터미널)
터미널이 실행되고 프롬프트가 나타나면 아래와 같이 순서대로 입력한다.
  • sudo sh
    - password를 묻는 문장이 나타나면 본인의 관리자 비밀번호를 입력한다.
  • chown -R username:staff /applications/apache-tomcat-6.0.18
    - 자신의 계정에 톰캣 사용 권한을 준다.
    - 여기서 username는 본인의 관리자 계정을 넣어준다.
  • /applications/apache-tomcat-6.0.18/bin/starup.sh

여기까지 완료했으면 브라우저 주소창에 http://localhost:8080을 입력하여 톰캣 초기화면이 나오는지 확인 한다.
톰갯의 작동을 멈추고자 할때는 shutdown.sh를 실행하면 된다.

맥킨토시(Mac)에서 개발하기

최근 Java, Jsp 등을 공부하면서 느끼는 또 다른 매력은 다양한 O/S (특히 여기서는 Macintosh와 같은...)에서 동일하게 상용할 수 있다는 것이다. 물론 여기서 사용이란 개발을 뜻하는 것이 될 것이다. 아마도 runtime 환경의 가치가 극대화 되는 순간이 아닐까 생각된다.

아무튼 이러한 생각이 비단 어제, 오늘의 일은 아니겠지만 윈도우즈 O/S가 사용자의 대부분을 차지하는 우리나라의 환경에서 맥킨토시를 사용하는 유저에게는 그야말로 하루에도 몇 번씩 느낄 수 있는 아쉬움과 안따까움 같은 것이다. 사정이 이렇다보니 맥킨토시는 서브컴(혹은 second라고 하는...)의 의미로 사용되는 수가 많고, 구매 당시의 의지와는 다르게 결국 윈도우즈 기반의 컴퓨터 한대 정도는 추가로 구입할 수 밖에 없는 상황이 비일비제하게 일어나고 있다. 다행이 부트캠프라는, 일종의 멀티 O/S지원을 위한 대안이 나오긴 했지만, 안타깝게도 아직까지는 모든 윈도우즈 프로그램이 늘 정상적으로 돌아가지 않는 것이 사실이다.

이유야 어찌되었든 Java나 Jsp는 매킨토시에서도 충분히 개발이 가능한 언어이기도 하고, 늘 맥을 가지고 개발도 하고 일도 하고 싶은 아주 사소한 욕구도 해결해 볼 겸, Jsp 스터디는 맥키토시로 진행해 보겠다는 야무진 다짐을 하게 되었다. 맥이 되었든 PC가 되었든 준비과정을 그렇게 틀리지 않을 것 같은데... 일단 스터디를 위해 필요한 준비 사항 먼저 따져봐야 할 것 같다.

2008년 12월 13일 토요일

JSP 작동 방식

1. JSP의 작동 원리

  • 사용자가 서버에 JSP 페이지를 요청
  • 해당 페이지에 대한 서블릿이 있는지 검사
    - tomcat이 해당 페이지의 서블릿이 있는 확인한다.
    - 서블릿이 있을 경우 다시 만들지 않고 재사용
    - 서블릿이 없을 경우 .jsp를 servlet class로 변환
  • 서블릿이 존재할 경우 메모리에 로드시켜 해당 페이지에 대한 응답 객체 생성
    - 브라우저가 해석가능한 html로 변환시켜 표시 (응답객체)
  • 서블릿이 없을 경우 해당 페이지에 대한 서블릿을 생성
  • 특정 폴더에 서블릿을 저장
    - 요청 시 마다 컴파일 할 경우 시간이 오래 걸리므로 컴파일된 서블릿을 저장
  • 이후 같은 페이지 요청시 메모리 상의 서블릿을 실행시켜 응답 객체를 생성

2. 간단한 예제를 통한 확인

  • Hello.jsp 페이지 작성
  • 웹사이트의 모든 파일이 시작되는 폴더인 root 폴더에 저장
    - tomcat이 기본적으로 검색하는 폴더
    - tomcat 설치 폴더 아래 webapps\ROOT
  • 브라우저를 열어 local:8080 포트로 접속
    - port 변경 : server.xml의 8080 port 값 변경
  • 실행된 화면을 확인 후 서블릿이 저장되는 work 폴더에 가서 서블릿을 확인
    - root\work\catalina\_\org\apache\jsp\ (Tomcat6.0 Windows Serivce Installer 기준)

JAVA 관련 용어

  • SDK : Standard Developer Kit 혹은 Software Development Kit
    - 자바뿐만 아니라 모든 개발 언어의 소프트웨어 개발 킷을 통칭하여 말함.
  • JDK : Java Developer Kit
    - SDK가 개발 킷의 통칭이라면 JDK는 Java 관련 소프트웨어 개발 킷을 말함.
    - Sun에서는 보통 J2SE의 경우 JDK로 표시하며 J2EE의 경우 J2EESDK로 표시합니다.
  • J2SDK : Java2 Standard Developer Kit 혹은 Java2 Platform Standard Developer Kit
    - 과거에는 Java1과 구분하기 위하여 J2SDK로 표시하였지만, 현재는 Java2만 사용하므로 JDK와 동일하다고 할 수 있음.
  • J2SE : Java2 Standard Edition 혹은 Java2 Platform Standard Edition
    - Java의 기본(표준) 플렛폼.
  • J2ME : Java 2 Micro Edition 혹은 Java2 Platform Micro Edition
    - 모바일 등과 같이 규모가 작은 프로그램을 개발하기 위한 플랫폼.
  • J2EE : Java2 Enterprise Edition 혹은 Java2 Platform Enterprise Edition
    - 웹기반의 엔터프라이즈 애플리케이션 구축을 위한 대형 플랫폼
  • JRE : J2SE Runtime Environment
    - JDK 등으로 개발한 프로그램이 실행될 수 있는 환경을 제공
    - 기본적으로 개발 킷에는 JRE가 포함되어 있으므로 따로 설치할 필요 없음.

JSP 환경설정

JSP를 사용하기 위한 도구들

  • 웹서버 (Apache, Linux, Windows군 등)

  • 자바환경 (J2SDK, JVM, Java API 등)

  • JSP 컨테이너 (Tomcat, Resin 등)
    - jsp 확장자를 가진 파일을 서블릿으로 변환시켜줌

  • 문서편집기 (메모장, Kawa, Editplus 등)
    - 텍스트 편집을 할 수 있는 어떠한 애플리케이션도 상관없다.
    - Editplus나 UltraEdit의 경우 특정 키워드를 구별하는 등의 기능을 제공한다.


1. J2SDK의 설치


  • Java.sun.com 사이트 방문

  • J2SDK를 다운로드

  • 기본값(defualt option)으로 설치

  • Path 설정
    - java compiler 연결

  • 환경변수 설정
    - JAVA_HOME : java가 설치되어 있는 루트

  • 간단한 예제를 통해 실행 여부 확인

2. Tomcat의 설치
- 확장자가 jsp인 파일을 실행시켜 servlet으로 변환


  • Jakarta.apache.org 사이트 방문

  • Tomcat을 다운로드

  • 압축 파일을 해제 : 압축해제하면 설치 완료 (version 3.0 기준)

  • 환경 변수 설정
    - TOMCAT_HOME : tomcat이 설치되어 있는 루트

  • 간단한 예제를 통해 실행 여부를 확인

2008년 12월 9일 화요일

교재의 선택 및 관련 사이트 수집

네이버의 지식검색을 찾아보니 국내 커뮤니티 중에서는 okjsp.pe.kr과 javaservice.net정도를 추천하는 글이 있었다.

OKJSP.pe.kr
단편적인 JSP 강좌를 제공하는 사이트는 아니다. JSP, AJAX, EJB, DB, XML등 웹 프로그래밍과 관련된 다양한 프로그래밍 스킬을 정리해 놓은 사이트라고 할 수 있다. 물론 Q/A가 활성화 되어 있어 프로그래머들 사이에 많은 글들이 오가고 있는 것을 알 수 있다.

JavaService.net
카테고리가 okjsp.pe.kr 처럼 명시적으로 나누어져 있지는 않지만, JSP를 비롯한 서버사이드 프로그래밍 관련 사항들을 총 막라한 사이트로 생각된다. 역시 Q/A가 활성화되어 있고 많은 프로그래머들의 글들이 올라오고 있다. 최근 글을 보니 11월30일... 그런데 아래로 스크롤하니 보다 최근 글들이 나온다. 좀 특이하네... 원래 위에가 최근글 아닌가? :)

교재는 교보문고 JSP 검색으로부터 나온 정확도순, 판매량순으로 보았을 때,
Head First Servlets & JSP(상상력을 자극하는 몰입의 학습법), 케이시 시에라 외
가 모두 순번1을 차지하고 있었다.
각종 블로그나 지식검색을 뒤져 본 결과도 이와 별반 다르지 않은 듯 하다.
이외에
최범균의 JSP2.0 프로그래밍 기초부터 중급까지 / 가메
JSP 2.0 웹프로그램 / 삼양미디어
등이 있었지만 평가면에서는 Head First Servlets & JSP가 우세한 듯하다.

물론 Sun Microsystems의 자바 웹개발 인증시험인 JSEE 14. SCWCD을 겨냥한 수험서로써의 한계를 지적한 내용도 있었지만 대부분의 독자들은 책의 구성이나 쉬운 접근방법 등을 이유로 이 책을 적극 추천하고 있다.

그럼 교재는 Head First Servlets & JSP로 결정!

JSP를 시작하다

서버사이드 프로그래밍으로 각광받고 있는 몇 가지 프로그래밍 언어들이 있다.
PHP, ASP, JSP, ASP.NET 등등...
얼마 전부터 JSP에 대한 매력과 함께 배움의 필요성을 절실히 느낀 바... 본격적으로 JSP 스터디를 시작해 볼까한다.

흔히들 JAVA를 잘하면 쉽게 이해하고 금방 익숙해 질 수 있다고 하는데... 실체는 어떤지 다소 궁금하다. 참고로 지금까지 사용해온 프로그래밍 언어는 C, C++, C#, ASP.NET등이 있다. JAVA도 약간 스터디를 했지만 직접 프로젝트를 수행하거나 완성된 제품을 추시해본 적은 없다.

스터디의 효율을 높이기 위하여 브로깅을 마음먹었다.
아무래도 그날그날 공부한 내용을 리뷰하고 리마인드하는 효과도 기대할 수 있을 것 같다.
교재는 해당 포스트의 하단에 참고자료로 명시할 예정이며, 저작권에 위배되는지 않는 범위 내에서 일부 발췌 형태 내지는 가공하여 포스팅하도록 할 것이다.
스터디 목표 기간은 3주로 잡았다. 지금까지의 프로그래밍 경험등으로 미루어 보아 중복되는 프로그램적인 스킬들에 대해서는 많은 시간이 소요되지 않을 것으로 생각된다. 그리고 빡빡한 일정으로 시작해야 어느정도 긴장감도 있지 않을까 하는 마음에서... :)

그럼 이제 교재 선정을 위한 정보 수집부터 시작해야겠다.