Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.

이클립스 WTP로 웹개발하기

이클립스에서 JSP웹개발을 할때 많이 쓰는 롬보즈와 WTP중 WTP이다. 롬보즈에 비한다면 훨씬 설정이 간단한 편이다. 사소한 버그들이 좀 보이긴 한데 서로 장단점이 있어 보인다.. 툴의 선택은 좀 더 써봐야 할 것 같고 WTP의 설정을 보자.

WTP는 Web Tools Platform의 약자인데 이클립스 3.2이상인가 버전부터는 WTP가 포함되어 있는 All-in-One버전이 같이 나와 있다. 이걸 다운받아서 사용하면 된다. 솔직히 뭐 설정이랄 것도 없다.

사용자 삽입 이미지


[Windows] - [Preference]에 들어가서 Server밑에 Installed Runtime을 찾아 들어간다. 이곳에서 사용할 서버를 설정해 주어야 한다. 여기서는 톰캣 4.1버전을 사용했으므로 Add를 눌러서 톰캣 4.1을 선택해 주고 Next를 누른다.

사용자 삽입 이미지

톰캣이 설치된 폴더를 선택해주고 JRE는 사용하는 JRE를 선택해 주면 된다. 여기서는 java 1.4를 사용하고 있으므로 J2sdk 1.4를 선택해 주었다.

이것만 설정해 주면 WTP의 설정은 끝났다. 이제 그냥 개발을 하면 된다. Lomboz에 비한다면 설정과정이 무척 단순한 것을 알 수 있다.


그럼 이제 개발을 해보자.

사용자 삽입 이미지

New프로젝트를 해서 Web밑의 Dynamic Web Project를 선택해 주고 Next를 누른다.

사용자 삽입 이미지

당연히 프로젝트 이름을 써주고 Target Runtime에 사용하려는 서버가 제대로 설정되어 있는지를 확인한 뒤에 Finish를 누르면 JSP개발을 할 프로젝트가 생성된다.

사용자 삽입 이미지

자동으로 WebContent라는 폴더가 생기는데 이게 웹사이트의 루트가 되는 곳이다. 이곳에서 우측마우스클릭을 해서 JSP페이지를 추가해 주면 된다. Java파일은 프로젝트에서 class를 추가해주면 자동으로 src에 위치하게 된다. (package를 무조건 사용해라.)

사용자 삽입 이미지

개발을 했으면 이제 봐야지 않은가... 보려는 파일을 마우스 우클릭을 해서 Run on Server를 하면 이클립스가 자동으로 톰캣을 실행하고  브라주어에 보여준다.

기본적으로는 이클립스의 내장브라우저에 보여주는데 이건 편할수도 있으면서 불편할 수도 있다. 브라우저를 원하는 브라우저로 보려면 [Windows]-[Web Browser]에 들어가서 원하는 브라우저를 선택해 주면 Run on Server를 했을때 선택한 브라우저가 실행된다.

사용자 삽입 이미지



덧) 롬보즈와 WTP의 큰 차이점은 롬보즈는 실제 배포를 하고 WTP는 실제로 배포하지 않고 실행을 한다는 것이다. 무슨말이냐 하면 롬보즈는 배포를 해서 실행해 보기 때문에 배포를 한 시점에서 그 웹페이지는 실제 운영될수 있는 별도의 페이지가 되는 것이다. (때문에 톰캣을 미리 켜두고 실행해야 한다. 물론 이클립스 내에서 실행할 수 있지만...)

하지만 WTP는 미리 톰캣을 실행해 두면 안된다. 따로 톰캣폴더안에 Context를 만들고 웹사이트를 돌리는 것이 아니라 WTP가 이런 일을 가상으로 해주기 때문에 WTP에서는 Data Source를 사용하기 어렵다고 한다. Class.forName으로 DB연결을 하고 마지막 배포시에만 Data Source로 바꾸어 주도록 하자.
2007/07/02 00:47 2007/07/02 00:47

이클립스 Lomboz 셋팅 후 웹 어플리케이션 개발 준비하기

이클립스에서 롬보즈 플러그인의 설정을 다 했으면 이제 JSP사이트 개발을 할 준비를 해보자..

새프로젝트를 Lomboz J2EE 프로젝트로 만든다.

사용자 삽입 이미지

프로젝트 이름을 입력하고 [Next]를 누른다.

사용자 삽입 이미지

그럼 아래와 같은 화면이 나온다. 그냥 [Next]를 또 눌러주면 된다.

(물론 Oracle을 사용한다면 Libraries에 들어가서 Add Variable에 들어가서 오라클 설치시 설정해 놓은 오라클 환경변수(ojdbc14.jar)를 추가해 주어야 한다.)

사용자 삽입 이미지

이제 웹모듈을 연결해 주어야 한다. 여기서 말하는 웹모듈이란 웹사이트의 홈디렉토리가 되는 이름이다. 이 웹어플리케이션의 홈디렉토리의 이름을 지정해 주는 것이다. Add를 눌러서 이름을 입력한다.

사용자 삽입 이미지

상단탭에서 Targeted Servers로 가서 사용하는 서버의 타입을 선택해 주고 그 옆의 Add버튼을 눌러서 추가를 해준다. 목록에 추가된 타겟서버가 나타났으면 [Finish]를 눌러서 프로젝트 생성을 마친다.

사용자 삽입 이미지

프로젝트에서 오른쪽 마우스 클릭을 해서 Properties로 들어간다. Java Build Path에 들어가서 소스탭에서 Allow output folders for source folders를 체크하면 src쪽 아래에 Output folder라는 메뉴가 생겨난다. 이걸 선택하고 Edit를 누른다.

사용자 삽입 이미지

Output폴더를 디폴트가 아닌 Web-INF/classes로 선택해 준다. java파일이 컴파일된 클래스 파일은 이곳에 위치해야 웹어플리케이션에서 사용할수 있기 때문에 여기서 설정해 주면 이클립스에서 자동컴파일할 때 클래스파일이 이곳에 생기게 된다.

사용자 삽입 이미지

이제 코딩할 준비는 완료되었다.

개발을 한 후에는 이제 배포를 해야 결과를 확인할 수 있다. 웹모듈폴더에서 오른쪽 마우스를 눌러서 Deploy Module를 해야 결과물을 확인할 수 있다.

사용자 삽입 이미지

배포를 하면 톰캣설치 폴더 아래 \webapps 안에 웹모듈이름의 war파일이 생기면서 자동으로 압축이 풀리고 웹모듈이름의 폴더가 생성된다. 해당폴더의 웹페이지를 직접 브라우져로 열어도 되고 배포 밑에 Show in Browser를 해도 된다.


다만 이클립스에는 약간의 오류가 있어서 최초 배포는 잘 되지만 두번째부터는 war는 배포되지만 자동으로 압축이 풀리지 않는 문제가 있다. 이것을 해결하려면

이클립스에서 롬보즈 프로젝트를 만들면 웹모듈안에 WEB-INF 폴더 밑에 build.xml파일이 생기는데 이파일에서

<target name="deploy" depends="undeploy,init" >
    <!-- Create the distribution directory -->
    <delete file="${war}.war" failonerror="false" />
 <jar jarfile="${war}.war" basedir="${dist}" manifest="${dist}/META-INF/MANIFEST.MF"/>  
   <copy file="${war}.war" todir="${deploy.dir}"/>
    <delete file="${war}.war" failonerror="false" />
    <delete dir="${dist}" failonerror="false" />
  </target>

부분을 찾아서 주황색으로 표시한 delete부분 위에 다음 줄

<mkdir dir="${war}"/>
    <unwar src="${deploy.dir}/${war}.war" dest="${deploy.dir}/${war}"/>

를 추가해 주면 해결할 수 있다.

2007/06/29 18:39 2007/06/29 18:39