최종 개별 프로젝트 과제물

▣개별 프로젝트 내용

학기 초 과제물인 스토리보드에서 제안했었던 경매를 수행하기 위한 웹 어플리케이션을 구
현합니다. 경매 웹 어플리케이션은 반드시 다음과 같은 기본 기능이 포함되어야 하며, 기본
기능 외의 추가 기능들은 자유롭게 추가시킬 수도 있습니다. 물론, 작성하는 인터페이스 또
한 최초 스토리보드의 계획에서 수정할 수도 있습니다.




▶기본 기능


①경매 상품을 등록하고 관리할 수 있는 기능
 -상품명, 상품 설명, 상품 그림파일, 최저 입찰 금액 등의 정보를 등록할 수 있어야 합니
   다.
 -상품 등록자는 입찰자들에 의해 입찰된 가격을 확인하고 낙찰 과정을 처리할 수 있어
   야 합니다.
 -상품 등록자는 등록된 정보(상품)을 수정하거나, 삭제할 수 있어야 합니다.


②등록된 상품 리스트를 출력할 수 있는 기능
 -입찰자들이 상품 리스트를 통해 경매에 참여할 상품을 선택할 수 있어야 합니다.
 -입찰자들이 상품을 선택하면 세부 상품 정보를 확인할 수 있어야 합니다.
 -경매가 완료된 상품은 입찰자들이 경매에 참여할 수 없도록 상품을 선택할 수 없어야
  합니다.


③상품 검색 기능
 -입찰자들이 검색어에 의해 원하는 경매 상품을 검색할 수 있어야 합니다.
 -검색 결과는 리스트 형태로 출력되어야 하며, 리스트 중 상품을 선택하면 그 상품에 대
  한 세부 상품 정보를 확인 할 수 있어야 합니다.




                       - 1 -
■프로그래밍 시 주의사항
-반드시 주요 코드에는 주석을 달아 두어야 합니다.
-사용하는 DBMS는 반드시 MySQL 5.5.x 버전 이어야 합니다.(그 이상 또는 그 이하 버전
  으로 작성한 백업 DB 파일을 제출한 것은 인정하지 않습니다.)
-테이블 이름과 테이블 개수는 얼마든지 자유롭게 사용할 수 있습니다. 단, DB이름과, 이
  DB를 사용하는 아이디와 암호는 반드시 다음과 같아야 합니다.


 • DB 이름 : auction
 • DB 사용자 아이디 : admin
 • DB 접근 암호 : 1234


※참고 : 새롭게 생성된 auction DB를 admin 사용자가 사용하도록 하기 위해서는, 다음
       SQL문으로 admin 사용자가 auction DB를 사용할 수 있도록 권한을 부여해야 합
       니다.

     mysql> CREATE DATABASE auction;
     mysql> GRANT ALL PRIVILEGES ON auction.*
             TO admin@localhost IDENTIFIED BY '1234';




■과제물 제출요령
      : 다음과 같은 4개의 파일을 압축하여 zip 파일로 제출합니다.
①프로그램 내에서 사용하는 DB Table 스키마 설명 문서(엑셀 파일)
  포함된 엑셀 파일 내용 중 파란색 글자는 입력 예제입니다. 내용을 수정하여 사용하세
  요. 맨 앞 sheet는 전체 table 목록을 기술하고, 다음 sheet 부터는 table을 구체적으로
  설명합니다.
②최초 작성했던 스토리보드 ppt 파일
  -내용 보강이 필요하거나 최초 설계에서 변경되었으면 수정하여 제출합니다.
③다음 내용이 포함되도록 워드 문서(아래한글)를 작성하여 제출합니다.
  -작성한 각 페이지에 대한 실행 결과를 캡처하고 구현한 기능 설명
    (소스코드는 캡처하여 설명할 필요 없음. 소스코드는 war 파일을 통해 제출함)
  -기본 기능 외에 추가되는 각 개별적인 독특한 기능은 되도록 문서의 서두에 간단히 기
    술하고, 해당 캡처 화면에서 상세히 설명할 것.
  -프로젝트 수행 후기
  -실행 결과에 대한 화면 캡처 방법은 다음 캡처 방법을 참고하세요.
    (단, 캡처시 반드시 주소 입력 줄까지 표시되도록 웹브라우저를 캡처해야 합니다.)


④web application 배포 파일인 auction.war 파일
  -war 파일 생성방법은 본 문서를 참고하세요.
  -제출되는 war 파일이름은 반드시 auction.war 이어야 합니다.




                                   - 2 -
⑤사용한 데이터베이스 백업 파일인 auction.sql 파일
      -백업 파일이름은 반드시 auction.sql 이어야 합니다.
      -DB를 백업할 수 있는 명령어는 다음과 같습니다(상세 설명은 강의노트 참조).
        mysqldump -u admin -p auction > auction.sql




■기타 주의 사항과 채점 기준
-본 과제물의 점수는 전체 총점 대비하여 15% 이상 반영 됩니다.
-제출기한을 꼭 확인하시어 엄수 바랍니다. 제출 기한 종료 후 어떠한 수단으로도 접수받지
 않습니다.
-제출한 과제물이 동료 과제물 복사로 판명될 경우엔 F 학점을 부여합니다.
-선배나 동료로부터 얻은 과거의 웹프로그래밍 수업 프로젝트 과제물을 일부 수정하여 제
 출하지 마세요.       적발시 F 부여합니다.
-본 과제물은 각 수강생 개인에게 부여하는 과제이기에 여러 사람이 같이 작성한 결과를
 제출하는 것은 인정되지 않습니다. 그렇게 제출된 과제물은 복사한 것으로 판단하여 F가
 부여될 수도 있습니다.
-주교제의 CD로 배포되는 예제나, 기타 인터넷에 공개된 코드 제출은 과제물로 인정되지
 않습니다. 경우에 따라서는 F가 부여될 수도 있습니다.
-완성되지 못한 과제물에 대해서는 노력점수를 부여할 예정입니다.
 단, 기본 기능 중 완성하지 못한 기능을 과제물 제출문서의 서두에 반드시 언급해야 합니
 다.
-실습 자료로 배포된 예제 코드나 강의노트의 예제 코드를 참조하거나 확장해도 되나, 동일
 하게 제출된 코드는 인정되지 않습니다.


■화면 켑쳐 방법
㉠네이버 자료실(http://file.naver.com/)과 같은 공개 자료실에서 "오픈 캡처"란 검색어로
 검색하시면 공개용 화면 캡처 프로그램을 다운받아 설치하실 수 있습니다.
㉡먼저, 오픈 캡처 프로그램을 실행시키고, 프로그램 결과를 실행시킨 후, [Ctrl+Shift+A]
 키를 누르시면 활성화된 윈도우를 캡처 할 수 있습니다.
㉢오픈 캡처 프로그램의 캡처된 그림을 마우스로 한번 클릭하고 [Ctrl+C] 키를 누릅니다.
㉣작업하고자 하는 워드 문서 파일에서 [Ctrl+V] 키를 누릅니다.
㉤적당한 크기로 그림 크기를 줄입니다.




                                    - 3 -
배포용 war 파일 만들기

war 파일은 보다 쉽게 web application을 배포하고 설치하기 위해서 사용하는 파일입니
다. Tomcat에 보면 webapps 란 디렉토리가 있습니다. 기본적으로 이 디렉토리에 war 파
일을 놓으면 Tomcat은 자동으로 이 파일의 압축을 풀어서 사용할 준비를 하게 됩니다.
war 파일의 이름을 따라서 Context를 만들고 디렉토리를 만들어서 바로 사용할 수 있도록
합니다.
먼저 war파일을 만들기 전에 컴퓨터에는 이미 JDK와 Tomcat이 설치되어 있고, 기존에
사용하고 있는 Web Application Context가 jspbook이라고 가정합니다. 이 디렉토리에는
작성한 모든 jsp파일과 그림파일, java파일 등이 존재하고 있어야 합니다.




이 Context root 디렉토리에 새로운 디렉토리 META-INF 폴더를 생성 해 줍니다. 이 폴
더 안에 context.xml 파일을 생성할 것입니다(대소문자 주의). 이 파일은 웹 애플리케이션
배포시 context에 대한 환경설정 정보를 가지게 될 것입니다.
다음 그림처럼, META-INF 폴더에 context.xml 파일을 생성합니다. 이때, 모든 폴더 명에
대해선 대소문자에 주의해야 합니다.




생성했다면, context.xml 파일을 Editplus에서 Open하여 tomcat7/conf/server.xml 파일에
서   정의했던   <Context>   element와   그   sub-element(만일   존재한다면)를   복사해서
context.xml 파일에 붙여 넣습니다. 그 결과는 다음 그림과 유사할 것입니다.




                                  - 4 -
jspbook/META-INF/contex.xml 파일 예제
      (어플리케이션이 Connection Pool을 사용하지 않는 경우)
      <Context reloadable="true" privileged="true" >
      </Context>

 만일, path와 docBase가 정의되어 있다면, 위의 예처럼, path와 docBase 속성은 삭제합
니다. 또한, DB Connection 설정 등의 이유로 Context의 하위 엘리먼트인 Resource 엘리
먼트가 존재해야 한다면 이를 기술해 줍니다. 반대로 제출하는 웹 어플리케이션이 DB
Connection을 사용하지 않는다면 Resource 엘리먼트를 샥제해야 합니다. 마지막으로, 본
xml에는 한글 주석을 기술하지 말아주세요.
       jspbook/META-INF/contex.xml 파일 예제
       (어플리케이션이 Connection Pool을 사용할 경우)

       <Context privileged="false"
                    reloadable="true"
                    useNaming="true">
        <Resource
          description="DB Connection"
          auth="Container"
          name="jdbc/auction"
          type="javax.sql.DataSource"
          driverClassName="com.mysql.jdbc.Driver"
          maxActive="4"
          maxIdle="2"
          maxWait="3000"
          username="admin"
          password="1234"
          url="jdbc:mysql://localhost:3306/auction"
          />


       </Context>




                                        - 5 -
jspbook/WEB-INF/web.xml 파일 예제
      (어플리케이션이 Connection Pool을 사용하는 경우)
      ... 생략 ...
        <description>
           Welcome to Tomcat
        </description>


       <resource-ref>
          <description>Database for JSP Applications</description>
          <res-ref-name>jdbc/auction</res-ref-name>
          <res-ref-type>javax.sql.DataSource</res-ref-type>
          <res-auth>Container</res-auth>
       </resource-ref>


      </web-app>



context.xml 파일 구성이 완료되었으면, WEB-INF/web.xml 파일을 확인해야 합니다. 만
일, 어플리케이션이 connection pool을 사용한다면 위와 같은 환경 설정을 가지는 web.xml
을 제출합니다. 어플리케이션이 connection pool을 사용하지 않는다면 web.xml 파일은 위
의 <resource-ref> 이하 element들을 삭제되어 있어야 합니다.

      jspbook/WEB-INF/web.xml 파일 예제
      (어플리케이션이 Connection Pool을 사용하지 않는 경우)
      ... 생략 ...
        <description>
           Welcome to Tomcat
        </description>


      </web-app>



작성이 완료되었으면, 저장하고, 이제 war 파일을 생성하기 위해, 도스 명령 프롬프트 창
을 열어서 작성한 웹 애플리케이션 디렉토리로 이동합니다. 여기서는 c:/JAVA/jspbook 이
라고 가정합니다.


  >cd c:JAVAjspbook




다음과 같이 jar 파일을 생성하는 방법과 동일한 명령어를 입력합니다. 생성하는 파일 이름



                                       - 6 -
이 jspbook.war라 한다면 다음과 같이 입력합니다.


  >jar cvf ../jspbook.war * 
      (현재 디렉토리의 모든 파일(* : 하위 디렉토리 포함)을 압축하여 상위 디렉토리(..)에
      jspbook.war 파는 파일 이름으로 생성하라는 의미임, c:압축, v:압축되는 상황 메시지
      보기, f:war 파일명지정)




이제,    윈도우   탐색기를    통해    jspbook    디렉토리의   상위인   c:JAVA   디렉토리에서
jspbook.war 파일을 찾아봅니다.




생성한 *.war 파일이 존재한다면, 모든 작업이 완료된 것입니다.
작성한 jspbook.war 파일을 배포하시면 됩니다.



※참고 : 만일 jar 명령어를 찾지 못하겠다는 메시지가 출력된다면, JAVA를 설치한 경로명
        을 path에 등록시킵니다. 물론, 바탕화면의 내컴퓨터 아이콘을 마우스 오른쪽 버
        튼을 누르고, [속성]을 선택한 뒤 [고급] 탭 메뉴의 [환경변수]에 등록시켜야겠지
        요.   자세한 사항은 강의노트를 참조하세요.
             예를 들어, Path는 “.;C:JAVAjdk1.6.0_18bin;” 를 기존에 입력되어 있
        는 경로명에 뒤이어서 세미콜론(;)을 구분자로 추가시킵니다.
        path를 등록하고 난 뒤엔, 새로운 명령프롬프트 창에서 명령어를 실행시켜야 합니
        다.




                                     - 7 -
war 파일 실행해보기

  톰켓 서비스를 시작시키고, 톰켓을 설치한 디렉토리의 webapps 디렉토리에 jspbook.war
파일을 복사합니다. 이때 주의해야할 점은 war 파일 이름과 동일한 파일 이름을 가지는 컨
넥스트(server.xml 파일내에서 설정한 <Context path="" ~>)나, 디렉토리가 이미 있다면,
압축이 자동으로 풀리지 않습니다. 그럴 때는 war 파일명만을 jspbook1.war와 같이 다른
이름으로 변경시킵니다.
  복사하고, 잠시 동안 기다리면, 자동으로 압축이 풀리면서 jspbook 디렉토리가 생성될 것
입니다. 당연히, 압축이 풀린 뒤의 jspbook.war 파일은 더 이상 필요 없으니, 삭제해도 되
지만, 톰켓이 실행되고 있는 상태에서 삭제하면 압축 풀린 jspbook 디렉토리도 같이 삭제될
수도 있으니 주의하세요. 톰켓을 종료시킨 상태에서 삭제하는 것이 안전합니다.




웹 브라우저 상에서 다음과 같은 URL로 접근하여 테스트 해봅니다. 여기서 url path는 war
파일 이름이 됩니다.


http://localhost:8080/jspbook/HelloWorld.jsp   (jspbook.war 파일일 경우)
http://localhost:8080/surveybank/HelloWorld.jsp (surveybank.war 파일일 경우)




                                                                      c




                                        - 8 -

Final report201101

  • 1.
    최종 개별 프로젝트과제물 ▣개별 프로젝트 내용 학기 초 과제물인 스토리보드에서 제안했었던 경매를 수행하기 위한 웹 어플리케이션을 구 현합니다. 경매 웹 어플리케이션은 반드시 다음과 같은 기본 기능이 포함되어야 하며, 기본 기능 외의 추가 기능들은 자유롭게 추가시킬 수도 있습니다. 물론, 작성하는 인터페이스 또 한 최초 스토리보드의 계획에서 수정할 수도 있습니다. ▶기본 기능 ①경매 상품을 등록하고 관리할 수 있는 기능 -상품명, 상품 설명, 상품 그림파일, 최저 입찰 금액 등의 정보를 등록할 수 있어야 합니 다. -상품 등록자는 입찰자들에 의해 입찰된 가격을 확인하고 낙찰 과정을 처리할 수 있어 야 합니다. -상품 등록자는 등록된 정보(상품)을 수정하거나, 삭제할 수 있어야 합니다. ②등록된 상품 리스트를 출력할 수 있는 기능 -입찰자들이 상품 리스트를 통해 경매에 참여할 상품을 선택할 수 있어야 합니다. -입찰자들이 상품을 선택하면 세부 상품 정보를 확인할 수 있어야 합니다. -경매가 완료된 상품은 입찰자들이 경매에 참여할 수 없도록 상품을 선택할 수 없어야 합니다. ③상품 검색 기능 -입찰자들이 검색어에 의해 원하는 경매 상품을 검색할 수 있어야 합니다. -검색 결과는 리스트 형태로 출력되어야 하며, 리스트 중 상품을 선택하면 그 상품에 대 한 세부 상품 정보를 확인 할 수 있어야 합니다. - 1 -
  • 2.
    ■프로그래밍 시 주의사항 -반드시주요 코드에는 주석을 달아 두어야 합니다. -사용하는 DBMS는 반드시 MySQL 5.5.x 버전 이어야 합니다.(그 이상 또는 그 이하 버전 으로 작성한 백업 DB 파일을 제출한 것은 인정하지 않습니다.) -테이블 이름과 테이블 개수는 얼마든지 자유롭게 사용할 수 있습니다. 단, DB이름과, 이 DB를 사용하는 아이디와 암호는 반드시 다음과 같아야 합니다. • DB 이름 : auction • DB 사용자 아이디 : admin • DB 접근 암호 : 1234 ※참고 : 새롭게 생성된 auction DB를 admin 사용자가 사용하도록 하기 위해서는, 다음 SQL문으로 admin 사용자가 auction DB를 사용할 수 있도록 권한을 부여해야 합 니다. mysql> CREATE DATABASE auction; mysql> GRANT ALL PRIVILEGES ON auction.* TO admin@localhost IDENTIFIED BY '1234'; ■과제물 제출요령 : 다음과 같은 4개의 파일을 압축하여 zip 파일로 제출합니다. ①프로그램 내에서 사용하는 DB Table 스키마 설명 문서(엑셀 파일) 포함된 엑셀 파일 내용 중 파란색 글자는 입력 예제입니다. 내용을 수정하여 사용하세 요. 맨 앞 sheet는 전체 table 목록을 기술하고, 다음 sheet 부터는 table을 구체적으로 설명합니다. ②최초 작성했던 스토리보드 ppt 파일 -내용 보강이 필요하거나 최초 설계에서 변경되었으면 수정하여 제출합니다. ③다음 내용이 포함되도록 워드 문서(아래한글)를 작성하여 제출합니다. -작성한 각 페이지에 대한 실행 결과를 캡처하고 구현한 기능 설명 (소스코드는 캡처하여 설명할 필요 없음. 소스코드는 war 파일을 통해 제출함) -기본 기능 외에 추가되는 각 개별적인 독특한 기능은 되도록 문서의 서두에 간단히 기 술하고, 해당 캡처 화면에서 상세히 설명할 것. -프로젝트 수행 후기 -실행 결과에 대한 화면 캡처 방법은 다음 캡처 방법을 참고하세요. (단, 캡처시 반드시 주소 입력 줄까지 표시되도록 웹브라우저를 캡처해야 합니다.) ④web application 배포 파일인 auction.war 파일 -war 파일 생성방법은 본 문서를 참고하세요. -제출되는 war 파일이름은 반드시 auction.war 이어야 합니다. - 2 -
  • 3.
    ⑤사용한 데이터베이스 백업파일인 auction.sql 파일 -백업 파일이름은 반드시 auction.sql 이어야 합니다. -DB를 백업할 수 있는 명령어는 다음과 같습니다(상세 설명은 강의노트 참조). mysqldump -u admin -p auction > auction.sql ■기타 주의 사항과 채점 기준 -본 과제물의 점수는 전체 총점 대비하여 15% 이상 반영 됩니다. -제출기한을 꼭 확인하시어 엄수 바랍니다. 제출 기한 종료 후 어떠한 수단으로도 접수받지 않습니다. -제출한 과제물이 동료 과제물 복사로 판명될 경우엔 F 학점을 부여합니다. -선배나 동료로부터 얻은 과거의 웹프로그래밍 수업 프로젝트 과제물을 일부 수정하여 제 출하지 마세요. 적발시 F 부여합니다. -본 과제물은 각 수강생 개인에게 부여하는 과제이기에 여러 사람이 같이 작성한 결과를 제출하는 것은 인정되지 않습니다. 그렇게 제출된 과제물은 복사한 것으로 판단하여 F가 부여될 수도 있습니다. -주교제의 CD로 배포되는 예제나, 기타 인터넷에 공개된 코드 제출은 과제물로 인정되지 않습니다. 경우에 따라서는 F가 부여될 수도 있습니다. -완성되지 못한 과제물에 대해서는 노력점수를 부여할 예정입니다. 단, 기본 기능 중 완성하지 못한 기능을 과제물 제출문서의 서두에 반드시 언급해야 합니 다. -실습 자료로 배포된 예제 코드나 강의노트의 예제 코드를 참조하거나 확장해도 되나, 동일 하게 제출된 코드는 인정되지 않습니다. ■화면 켑쳐 방법 ㉠네이버 자료실(http://file.naver.com/)과 같은 공개 자료실에서 "오픈 캡처"란 검색어로 검색하시면 공개용 화면 캡처 프로그램을 다운받아 설치하실 수 있습니다. ㉡먼저, 오픈 캡처 프로그램을 실행시키고, 프로그램 결과를 실행시킨 후, [Ctrl+Shift+A] 키를 누르시면 활성화된 윈도우를 캡처 할 수 있습니다. ㉢오픈 캡처 프로그램의 캡처된 그림을 마우스로 한번 클릭하고 [Ctrl+C] 키를 누릅니다. ㉣작업하고자 하는 워드 문서 파일에서 [Ctrl+V] 키를 누릅니다. ㉤적당한 크기로 그림 크기를 줄입니다. - 3 -
  • 4.
    배포용 war 파일만들기 war 파일은 보다 쉽게 web application을 배포하고 설치하기 위해서 사용하는 파일입니 다. Tomcat에 보면 webapps 란 디렉토리가 있습니다. 기본적으로 이 디렉토리에 war 파 일을 놓으면 Tomcat은 자동으로 이 파일의 압축을 풀어서 사용할 준비를 하게 됩니다. war 파일의 이름을 따라서 Context를 만들고 디렉토리를 만들어서 바로 사용할 수 있도록 합니다. 먼저 war파일을 만들기 전에 컴퓨터에는 이미 JDK와 Tomcat이 설치되어 있고, 기존에 사용하고 있는 Web Application Context가 jspbook이라고 가정합니다. 이 디렉토리에는 작성한 모든 jsp파일과 그림파일, java파일 등이 존재하고 있어야 합니다. 이 Context root 디렉토리에 새로운 디렉토리 META-INF 폴더를 생성 해 줍니다. 이 폴 더 안에 context.xml 파일을 생성할 것입니다(대소문자 주의). 이 파일은 웹 애플리케이션 배포시 context에 대한 환경설정 정보를 가지게 될 것입니다. 다음 그림처럼, META-INF 폴더에 context.xml 파일을 생성합니다. 이때, 모든 폴더 명에 대해선 대소문자에 주의해야 합니다. 생성했다면, context.xml 파일을 Editplus에서 Open하여 tomcat7/conf/server.xml 파일에 서 정의했던 <Context> element와 그 sub-element(만일 존재한다면)를 복사해서 context.xml 파일에 붙여 넣습니다. 그 결과는 다음 그림과 유사할 것입니다. - 4 -
  • 5.
    jspbook/META-INF/contex.xml 파일 예제 (어플리케이션이 Connection Pool을 사용하지 않는 경우) <Context reloadable="true" privileged="true" > </Context> 만일, path와 docBase가 정의되어 있다면, 위의 예처럼, path와 docBase 속성은 삭제합 니다. 또한, DB Connection 설정 등의 이유로 Context의 하위 엘리먼트인 Resource 엘리 먼트가 존재해야 한다면 이를 기술해 줍니다. 반대로 제출하는 웹 어플리케이션이 DB Connection을 사용하지 않는다면 Resource 엘리먼트를 샥제해야 합니다. 마지막으로, 본 xml에는 한글 주석을 기술하지 말아주세요. jspbook/META-INF/contex.xml 파일 예제 (어플리케이션이 Connection Pool을 사용할 경우) <Context privileged="false" reloadable="true" useNaming="true"> <Resource description="DB Connection" auth="Container" name="jdbc/auction" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" maxActive="4" maxIdle="2" maxWait="3000" username="admin" password="1234" url="jdbc:mysql://localhost:3306/auction" /> </Context> - 5 -
  • 6.
    jspbook/WEB-INF/web.xml 파일 예제 (어플리케이션이 Connection Pool을 사용하는 경우) ... 생략 ... <description> Welcome to Tomcat </description> <resource-ref> <description>Database for JSP Applications</description> <res-ref-name>jdbc/auction</res-ref-name> <res-ref-type>javax.sql.DataSource</res-ref-type> <res-auth>Container</res-auth> </resource-ref> </web-app> context.xml 파일 구성이 완료되었으면, WEB-INF/web.xml 파일을 확인해야 합니다. 만 일, 어플리케이션이 connection pool을 사용한다면 위와 같은 환경 설정을 가지는 web.xml 을 제출합니다. 어플리케이션이 connection pool을 사용하지 않는다면 web.xml 파일은 위 의 <resource-ref> 이하 element들을 삭제되어 있어야 합니다. jspbook/WEB-INF/web.xml 파일 예제 (어플리케이션이 Connection Pool을 사용하지 않는 경우) ... 생략 ... <description> Welcome to Tomcat </description> </web-app> 작성이 완료되었으면, 저장하고, 이제 war 파일을 생성하기 위해, 도스 명령 프롬프트 창 을 열어서 작성한 웹 애플리케이션 디렉토리로 이동합니다. 여기서는 c:/JAVA/jspbook 이 라고 가정합니다. >cd c:JAVAjspbook 다음과 같이 jar 파일을 생성하는 방법과 동일한 명령어를 입력합니다. 생성하는 파일 이름 - 6 -
  • 7.
    이 jspbook.war라 한다면다음과 같이 입력합니다. >jar cvf ../jspbook.war *  (현재 디렉토리의 모든 파일(* : 하위 디렉토리 포함)을 압축하여 상위 디렉토리(..)에 jspbook.war 파는 파일 이름으로 생성하라는 의미임, c:압축, v:압축되는 상황 메시지 보기, f:war 파일명지정) 이제, 윈도우 탐색기를 통해 jspbook 디렉토리의 상위인 c:JAVA 디렉토리에서 jspbook.war 파일을 찾아봅니다. 생성한 *.war 파일이 존재한다면, 모든 작업이 완료된 것입니다. 작성한 jspbook.war 파일을 배포하시면 됩니다. ※참고 : 만일 jar 명령어를 찾지 못하겠다는 메시지가 출력된다면, JAVA를 설치한 경로명 을 path에 등록시킵니다. 물론, 바탕화면의 내컴퓨터 아이콘을 마우스 오른쪽 버 튼을 누르고, [속성]을 선택한 뒤 [고급] 탭 메뉴의 [환경변수]에 등록시켜야겠지 요. 자세한 사항은 강의노트를 참조하세요. 예를 들어, Path는 “.;C:JAVAjdk1.6.0_18bin;” 를 기존에 입력되어 있 는 경로명에 뒤이어서 세미콜론(;)을 구분자로 추가시킵니다. path를 등록하고 난 뒤엔, 새로운 명령프롬프트 창에서 명령어를 실행시켜야 합니 다. - 7 -
  • 8.
    war 파일 실행해보기 톰켓 서비스를 시작시키고, 톰켓을 설치한 디렉토리의 webapps 디렉토리에 jspbook.war 파일을 복사합니다. 이때 주의해야할 점은 war 파일 이름과 동일한 파일 이름을 가지는 컨 넥스트(server.xml 파일내에서 설정한 <Context path="" ~>)나, 디렉토리가 이미 있다면, 압축이 자동으로 풀리지 않습니다. 그럴 때는 war 파일명만을 jspbook1.war와 같이 다른 이름으로 변경시킵니다. 복사하고, 잠시 동안 기다리면, 자동으로 압축이 풀리면서 jspbook 디렉토리가 생성될 것 입니다. 당연히, 압축이 풀린 뒤의 jspbook.war 파일은 더 이상 필요 없으니, 삭제해도 되 지만, 톰켓이 실행되고 있는 상태에서 삭제하면 압축 풀린 jspbook 디렉토리도 같이 삭제될 수도 있으니 주의하세요. 톰켓을 종료시킨 상태에서 삭제하는 것이 안전합니다. 웹 브라우저 상에서 다음과 같은 URL로 접근하여 테스트 해봅니다. 여기서 url path는 war 파일 이름이 됩니다. http://localhost:8080/jspbook/HelloWorld.jsp (jspbook.war 파일일 경우) http://localhost:8080/surveybank/HelloWorld.jsp (surveybank.war 파일일 경우) c - 8 -