sitelink1  
sitelink2  
sitelink3  
extra_vars6  
1. Spring FrameWork - Jpetstore (1)
JDK, Apache Tomcat, Mysql 은 이미 설치되어 있다는 전제하에 Jpetstore 프로젝트를 셋팅해 보자.
 
1.1. 테스트 환경
    - OS  : Windows XP
    - JDK : java version 1.6.0
    - Tomcat : Apache Tomcat 5.5
    - Mysql : MySQL 5.0
    - IDE  : Web Tools Project - Eclipse 3.2.0
    - Spring : spring-framework-2.0.2-with-dependencies
 
 
1.2. Ant 설치
    Ant Download 
       - http://ant.apache.org/bindownload.cgi 
 
    Ant Manual 
        - http://ant.apache.org/manual/index.html
        - http://ant.apache-korea.org/manual/index.html
 
    다운받은 파일의 압축을 풀고 환경변수 및 패스를 잡아준다 
 
    set ANT_HOME=C:My DevelopmentProgram Installapache-ant-1.7.0 (Ant 디렉토리)
    set JAVA_HOME=F:Program FilesJavajdk1.6.0 (JDK를 설치한 디렉토리)
    set PATH=%PATH%;%ANT_HOME%bin
 
1.3. Spring FrameWork 다운로드 
   - http://www.springframework.org/download
   - spring-framework-2.0.2-with-dependencies.zip
 
 
1.4. 이클립스에 JpetStore 프로젝트 환경 셋팅
    1) 메뉴 -> File -> New -> Project 를 선택한다.
    2) 다음과 같은 화면에서 Web -> Dynamic Web Project 를 선택하고 Next를 클릭한다
 

jpetstore_001_1-cugain.jpg

 

 
 
    3) 다음의 화면에서와 같이 Project name 란에 프로젝트 이름을 넣고 Target Runtime 선택항목에서 New버튼을 클릭한다.
 

jpetstore_002_1-cugain.jpg

 

 
 
    4) New Server Runtime 선택화면이 나타나면 Apache -> Apache Tomcat5.5 를 선택하고 Next 버튼을 클릭한다.
 

jpetstore_003_1-cugain.jpg

 

 
 
    5) 다음의 화면에서 Tomcat Installation directory 지정 항목에서 Browse 버튼을 클릭하여 Tomcat5.5의 경로를 지정한다.
 

jpetstore_004_1-cugain.jpg

 

 
 
    6) JRE는 설치해둔 JDK를 선택한다.
 

jpetstore_005_1-cugain.jpg

 

 
 
    7) 다음과 같은 화면을 확인후에 Finish 버튼을 클릭한다.
 

jpetstore_006_1-cugain.jpg

 

 
 
    8) 다음과 같은 화면이 나타나면 I Agree 버튼을 눌러 계속 진행하도록 한다.
 

jpetstore_007_1-cugain.jpg

 

 
 
    9) 다음의 화면에서도 Yes 버튼을 클릭하여 계속 진행한다.
 

jpetstore_008_1-cugain.jpg

 

 
 
    10) 이렇게 생성한 jpetstore 프로젝트를 윈도우 탐색기의 workspace 경로에서 확인한다.
 

jpetstore_009_1-cugain.jpg

 

 
 
    11) 생성한 jpetstore 프로젝트내의 디렉토리 내용이 이상이 없다면 이번엔 Spring프레임웍에 포함되어 있는 jpetstore 샘플 프로젝트를 열고 내용을 확인한다.
 

jpetstore_010_1-cugain.jpg

 

 
 
    12) 도스 커맨드창을 열고 Spring프레임워크의 jpetstore 샘플 프로젝트 경로까지 이동한 후 build all 명령어로 프로젝트를 빌드한다.
 

jpetstore_011_1-cugain.jpg

 

 
 
    13) build all 명령을 수행하면 다음의 화면처럼 BUILD SUCCESSFUL 이라는 메세지가 출력되면 된다.
         만일 오류를 발생한다면 ANT 설치 부분을 다시 한번 확인해 보자.
 

jpetstore_012_1-cugain.jpg

 

 
 
    14) 복사해야 할 디렉토리는 src 와 war 이하의 내용이다.
 
             - spring-framework-2.0.2/samples/jpetstore/src/*  ==>  jpetstore/src/
             - spring-framework-2.0.2/samples/jpetstore/war/*  ==>  jpetstore/WebContent/
 
         위와 같이 파일을 복사한 후 이클립스에서 리프레쉬(F5)를 하면 다음의 화면처럼 에러가 발생한다는 표시가 나타난다.
 

jpetstore_013_1-cugain.jpg

 

 
    15) 메뉴 -> Window -> Preferences 를 클릭한다.
         다음과 같은 창이 나타나면, General -> Editors -> Structured Text Editors 를 선택하여 오른쪽 화면에 나타나는 항목중
         Appearance탭의 Report problems as you type Also see the 'validation' preferences. 라는 항목에 체크해제한다.
         개발중에 다음의 항목은 JSP와 XML 등의 페이지에 대한 Validation 체크를 수행함으로 인해 수행 속도를 저하시키게 된다.
         개발완료후 체크 해제한 항목을 다시 체크하여 Validation 체크를 수행하도록 한다.
 

jpetstore_014_1-cugain.jpg

 

 
    16) Preferences 창에서 Validation을 클릭하여 출력되는 화면에서는 Validation 체크 할 파일을 지정할 수 있다.
         Project Explorer에서 에러 표시 마크를 보고 싶지 않다면 모두 체크해제 해 둔다. 
         이것 역시 개발이 완료후 다시 체크상태로 돌리면 된다. 
 

jpetstore_015_1-cugain.jpg

 

 
    17) jpetstore 프로젝트에서 오른쪽 마우스 버튼을 클릭하여 Properties 창을 연다.
 

jpetstore_016_1-cugain.jpg

 

 
    18) Properties 창에서 Java Build Path -> Source 탭에 Default output folder 항목의 Browse 버튼을 클릭한다.
 

jpetstore_017_1-cugain.jpg

 

 
 
 
 
 
2. Spring FrameWork - Jpetstore (2) 
 
    19) Folder Selection 창에서는 jpetstore > WebContent > WEB-INF 경로에 마우스로 클릭한 후 Create New Folder 버튼을 클릭하여 New Folder를 생성한다. 보통 Folder 이름은 classes으로 한다.
    

jpetstore_018_1-cugain.jpg

 

 
    20) Ok 버튼을 눌러 창을 닫고 Properties 창의 Ok버튼을 누르면 다음과 같은 확인창이 뜬다. Yes를 눌러 넘어가자.
 

jpetstore_019_1-cugain.jpg

 

   
 
    21) 이제 톰캣서버와의 연결을 시작한다.
         다음의 화면에 보이듯이 Servers탭이 있다. (보이지 않는다면 메뉴 -> Window -> Show View 에서 Servers 항목을 찾아보자)
         마우스 오른쪽 버튼을 클릭한다.
 

jpetstore_020_1-cugain.jpg

 

  
 
      22) 마우스 오른쪽 버튼 클릭으로 나타나는 메뉴에서 New -> Server를 클릭하면 다음과 같은 창이 나타난다.
         여기에 연결할 웹서버 목록이 나타난다. Apache > Tomcat v5.5 Server 를 선택하고 Next 버튼을 클릭하여 다음으로 넘어간다.
 

jpetstore_021_1-cugain.jpg

 

   
 
    23) Add and Remove Projets에서는 웹서버에 등록할 프로젝트를 선택한다.
 

jpetstore_022_1-cugain.jpg

 

   
 
    24) Add 버튼을 클릭하면 프로젝트가 옮겨가고 Finish를 눌러 끝낸다.
 

jpetstore_023_1-cugain.jpg

 

   
 
    25) 이제 Servers탭에 추가된 서버에서 마우스 오른쪽 클릭을 하면 메뉴가 나타나는데 Start 를 클릭하여 서버를 기동한다.
 

jpetstore_024_1-cugain.jpg

 

   
 
    26) 이클립스에서는 내부적으로 브라우저창을 띄울 수 있는데 톰캣서버의 Status가 Started인 것을 확인 후 다음의 화면에서와 같이 단축아이콘 중에서 브라우저 아이콘을 클릭하여 브라우저를 띄운다.
 

jpetstore_025_1-cugain.jpg

 

   
 
    27) 브라우저에서는 URL 입력란에 http://localhost:8080/jpetstore 라고 입력하면 다음과 같은 화면을 볼 수 있다.          
   

jpetstore_026_1-cugain.jpg

 

 
 
중간에 멈추고 ...
지금까지의 작업으로 이클립스와 톰캣 jpetstore를 연동하였고, 앞으로는 이렇게 셋팅한 환경에 Mysql DB를 연결하여 실제 Jpetstore가 움직이는 화면을 확인할 일만 남았다.
 
이클립스는 WTP를 사용하였는데 사실 MyEclipse도 준비해 두었었다.
MyEclipse에서도 위와 같이 연동을 해보았는데 이녀석은 디플로이 과정이 있어서 디플로이를 하면 프로젝트가 설치되어 있는 톰캣의 webapps 디렉토리에 어플리케이션 디렉토리를 생성하는 방식으로 연동을 하고 있다.
물론 소스 수정 할때마다 디플로이 해줄 필요는 없었다. 소스를 수정하면 자동으로 디플로이된 경로로 컴파일이 이뤄지는 것 같다.
WTP는 Project Explorer 탭의 Servers 프로젝트를 확장시켜 Tomcat 안의 server.xml 을 보면 알겠지만 마지막 부분에 jpetstore의 Context 를 추가하여 연동을 하고 있다.
여기서 사용하는 server.xml은 실제 설치되어 있는 톰캣의 server.xml과는 별도로 관리되는 환경화일이다.
일단은 여기까지...
지금은 업무 인수인계로 바빠서 DB연동은 추후로 미뤘다. 흑흑
 
 
 
 
3. Eclipse에 Mysql 연결하기 (1) 
 
Mysql은 이미 설치되어 있다는 전제하에 진행한다.
 
3.1. http://dev.mysql.com/downloads/connector/j/5.0.html 에서 mysql-connector-java-5.0.5.zip 화일 다운로드.
3.2. 다운로드한 파일을 적당한 경로에 압축을 푼다.
3.3. Database Explorer 창에서 마우스 오른쪽 버튼을 클릭하여 New Connection을 선택한다.
 

mysql_001_1-cugain.jpg

 

   
3.4. New Connection창이 뜨면 다음의 화면과 같이 정보를 입력한다.
   참고로 설치한 Mysql이 5.0 이상이어도 데이터베이스 선택창에 나타난 Mysql 4.1로 해도 문제는 없다.
    - Database : 생성한 데이터베이스 이름
    - JDBC driver class : com.mysql.jdbc.Driver
    - Class location : mysql-connector-java-5.0.5-bin.jar가 위치한 경로(설치경로)
    - Connection URL : jdbc:mysql://호스트:3306/데이터베이스 이름 
   Class location을 선택하기 위해 Browse 버튼을 클릭한다.
 

mysql_002_1-cugain.jpg

 

   
3.5. mysql 드라이버를 설치한 디렉토리로 이동하여 mysql-connector-java-5.0.5-bin.jar 파일을 지정한다.
 

mysql_003_1-cugain.jpg

 

   
3.6. 이제 Test Connection을 수행하여 보자.
 

mysql_004_1-cugain.jpg

 

   
3.7. 다음과 같은 화면이 나타난다면 DB연결은 끝났다.
 

mysql_005_1-cugain.jpg

 

   
DB서버가 원격서버일 경우 db명이 mysql에서 user테이블의 jpetstore 유저의 Host가 % 또는 연결할 서버의 아이피로 주어져 있는지 확인한다.
다음은 원격서버에 접속시 발생하는 에러에 대한 내용이다.
참고하자. http://www.sqlgate.com/kr/phpBB2/viewtopic.php?t=288 
 
 
 
4. Eclipse에 Mysql 연결하기 (2) 
 
연결한 DB에 쿼리를 날려본다.
 
4.1. Spring프레임워크의 jetstore 샘플이 있는 디렉토리까지 이동한다.
    
    jpetstore/db/mysql 디렉토리를 열면 jpetstore-mysq-dataload.sql 과 jpetstore-mysql-schema.sql 두개의 파일이 있다. 
 

mysql_006_1-cugain.jpg

 

  
 
4.2. Database Explorer 의 jpetstore프로젝트에서 마우스 오른쪽 버튼 클릭하면 Open SQL Scrapbook 이 나타난다.
 

mysql_007_1-cugain.jpg

 

   
 
4.3. 클릭하면 New SQL Scrapbook Page창이 뜨고 jpetstore프로젝트에 미리 생성해둔 sql 디렉토리를 지정하고 File이름을 마음대로 지정 후 Finish 버튼을 클릭한다.
 

mysql_008_1-cugain.jpg

 

   
 
4.4. 우선은 테이블을 생성해야 하므로 jpetstore-mysql-schema.sql 파일의 내용을 복사하여 붙여넣기 한 후 화면처럼 마우스 오른쪽 버튼 클릭으로 나타나는 메뉴중 Run SQL을 실행한다. 
   

mysql_009_1-cugain.jpg

 

 
4.5. 실행하면 밑의 Data Output창에 다음과 같은 실행 결과를 보여준다.
    별다른 에러가 없다면 SQL 이 성공적으로 수행된 것이다. 에러가 발생한다면 쿼리의 내용을 살펴 보아야 한다.
 

mysql_010_1-cugain.jpg

 

   
4.6. jpetstore-mysql-dataload.sql 파일의 내용도 위와 같은 방식으로 실행하여 jpetstore db에 데이터를 삽입하도록 한다. 
 
 
 
5. Spring FrameWork - Jpetstore (3) 
 
jpetstore에 DB설정을 하고 실제 시스템의 움직임을 살펴보자
 
5.1. table 스키마와 데이터를 생성하였으므로 jpetstore에 db연결을 하면 사이트가 정상적으로 작동할 것이다.
    Package Explorer창에서 jpetstore > WebContent > WEB-INF > jdbc.properties 파일을 열어 다음과 같이 편집하도록 한다.
    - jdbc.driverClassName=com.mysql.jdbc.Driver
    - jdbc.url=jdbc:mysql://호스트:포트/db이름
    - jdbc.username=DB 사용자 아이디
    - jdbc.password=DB 사용자 비밀번호
 

mysql_011_1-cugain.jpg

 

   
 
5.2. 편집한 내용을 저장한 후 Servers 창에서 Tomcat v5.5 를 마우스 오른쪽 버튼 클릭 후 Open메뉴를 선택한다.
 

mysql_012_1-cugain.jpg

 

   
 
5.3. Tomcat v5.5 Server Overview 화면이 뜨면 화면에서 보이는 Open launch configuration 링크를 클릭한다. 
   

mysql_013_1-cugain.jpg

 

 
5.4. Properties for Tomcat v5.5 Server 화면이 나타나면 Classpath 탭을 선택한다. 
   

mysql_014_1-cugain.jpg

 

 
5.5. Classpath 탭을 선택하고 User Entries 를 클릭하면 오른쪽에 위치한 버튼들이 활성화 되는데 거기서 Add External JARs... 버튼을 클릭한다.
 

mysql_015_1-cugain.jpg

 

   
 
5.6. mysql 드라이버를 설치한 경로로 이동하여 드라이버를 지정한다.
 

mysql_016_1-cugain.jpg

 

   
 
5.7. 드라이버가 추가된 것을 확인 후 OK버튼을 클릭하여 끝낸다.
 

mysql_017_1-cugain.jpg

 

   
 
5.8. 다시 Servers 창의 Tomcat v5.5 Server 에서 오른쪽 버튼을 클릭하면 메뉴가 나타나고 Start를 클릭하면 웹서버가 기동된다.
 

mysql_018_1-cugain.jpg

 

   
 
5.9. 브라우저 창의 URL에 http://localhost:8080/jpetstore 를 입력하면 다음과 같은 화면이 나타나고 Enter the store 링크를 클릭하여 사이트 내부도 들어가서 사이트의 움직임을 살펴보자. 
 

mysql_019_1-cugain.jpg

 

번호 제목 글쓴이 날짜 조회 수
공지 (확인전) [2021.03.12] Eclipse에서 Spring Boot로 JSP사용하기(Gradle) 황제낙엽 2023.12.23 0
공지 [작성중/인프런] 스프링부트 시큐리티 & JWT 강의 황제낙엽 2023.12.20 6
23 Spring프레임워크 소개문서 (2) 황제낙엽 2007.03.22 123
22 Spring프레임워크 소개문서 (1) 황제낙엽 2007.03.22 107
» Cugain의 샘플프로젝트 jpetstore 분석기 - (1) jpetstore 설치 file 황제낙엽 2007.02.22 123
20 Cugain의 샘플프로젝트 jpetstore 분석기 - (7) PetStoreImpl.java 황제낙엽 2007.05.24 51
19 Cugain의 샘플프로젝트 jpetstore 분석기 - (6) petstore-servlet.xml 분석 황제낙엽 2007.04.27 19
18 Cugain의 샘플프로젝트 jpetstore 분석기 - (5) applicationContext.xml 분석 황제낙엽 2007.04.21 232
17 Cugain의 샘플프로젝트 jpetstore 분석기 - (4) dataAccessContext-jta.xml 분석 황제낙엽 2007.04.21 27
16 Cugain의 샘플프로젝트 jpetstore 분석기 - (3) dataAccessContext-local.xml 분석 황제낙엽 2007.04.21 40
15 Cugain의 샘플프로젝트 jpetstore 분석기 - (2) web.xml 분석 황제낙엽 2007.03.20 92
14 IoC (Inversion of Control) 컨테이너에 대한 정리 황제낙엽 2007.02.21 50
13 자바지기 1차 오픈 소스 스터디 문서모음 file 황제낙엽 2007.01.30 46
12 Spring 프레임워크를 이용한 효율적인 개발 전략 1차 황제낙엽 2007.01.30 47
11 Spring framework jpetstore 샘플 분석기 - (6) jpetstore 예제로 살펴보는 Spring MVC와 iBatis 연동 황제낙엽 2007.01.18 48
10 Spring framework jpetstore 샘플 분석기 - (5) jpetstore 에서의 InternalResourceViewResolver 황제낙엽 2007.01.18 17
9 Spring framework jpetstore 샘플 분석기 - (4) jpetstore 에서의 HandlerMapping 황제낙엽 2007.01.18 36
8 Spring framework jpetstore 샘플 분석기 - (3) jpetstore 에서의 Spring MVC 설정 황제낙엽 2007.01.18 13
7 Spring framework jpetstore 샘플 분석기 - (2) jpetstore 에서의 Spring 초기 설정과 IoC 황제낙엽 2007.01.18 18
6 Spring framework jpetstore 샘플 분석기 - (1) jpetstore 설치하기 황제낙엽 2007.01.18 30
5 Spring WebFlow Introduction (웹개발을 직관적으로) 황제낙엽 2006.12.09 555
4 IoC(Inversion of Control)란 무엇인가? 황제낙엽 2006.12.09 93