準備工作,我使用下列的系統和軟體

Windows XP

Eclipse 3.12

Tomcat 5.5.15
(要下載.zip解壓縮版,不要用.exe安裝版)

Sysdeo Tomcat Plugin Launcher v3.1final


WebWork


安裝Tomcat Plugin

有許多給Eclipse用的Tomcat Plugin軟體,而這裡是用Sysdeo的Tomcat Plugin來整合Eclispe和Tomcat,下載Sysdeo Tomcat Plugin的網頁在http://www.sysdeo.com/eclipse/tomcatplugin

解壓縮下載的檔案到\plugins的資料夾中。


安裝Tomcat

如果還沒有下載Tomcat那就來這裡http://tomcat.apache.org/下載吧,記得要下載.zip版本,解壓縮就可以安裝好Tomcat喔。


在Eclipse中設定Tomcat Plugin

啟動\重啟Eclipse這樣才會載入剛剛按裝的Plugin。

如果剛剛安裝的Plugin有啟動,那馬上可以在Eclipse選單下方看到新的三個圖示。

這三個按鈕的功能是啟動、停止、重啟Tomcat用的。

現在設定這個Plugin,在Windows -> Preference.點選Tomcat文字.

Tomcat version選下載的版本,這裡用Version 5.x 版,再選擇就是剛剛安裝解壓縮Tomcat的資料夾。Context decleration mode 就是選Server.xml。

Advanced就是預設的不用更動,JVM Settings 需要確定有選擇一個JRE。

洏Source Path確定有勾選Automatically compute source path.

這樣就按OK按鈕關掉視窗。


建立一個新的專案

好,我們在Eclipse中建立一個專案,而專案的目錄結構如下,可以在Window-->Show View選Navigator模式來建資料夾。



+ src

   + java

+ webapp

   + WEB-INF

      + classes

      + lib

在lib資料夾可以把需要使用到的.jar檔放到此資料夾中,這裡我放入下列檔案

commons-logging.jar

freemarker.jar

javamail.jar

log4j-1.2.9.jar

ognl.jar

oscore.jar

rife-continuations.jar

servletapi.jar

spring.jar

webwork-2.2.1.jar

xwork.jar


有些設定檔案比較適合放在class path下的,這樣比較好做不用WebContainer的測試。所以呢,在src\java的資料夾中需要放入整合Spring的設定檔和Log4J的設定檔log4j.properties,WebWork的設定檔webwork.properties和XWork的設定檔案xwork.xml,下列是此四個設定檔案的內容

Spring設定檔applicationContext.xml一開始是空的。



http://www.springframework.org/dtd/spring-beans.dtd">




Log4J的設定檔案log4j.properties。

log4j.rootLogger=INFO, console


log4j.appender.console=org.apache.log4j.ConsoleAppender

log4j.appender.console.layout=org.apache.log4j.PatternLayout

log4j.appender.console.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %-5p %c - %m%n


#log4j.category.org.springframework=DEBUG

#log4j.category.com.opensymphony.webwork=DEBUG

#log4j.category.com.opensymphony.xwork=DEBUG


webwork.properties的內容,這是給開發環境使用的設定,運行環境要另外寫過喔。

webwork.locale=zh_TW


webwork.objectFactory = spring

webwork.devMode = true

webwork.configuration.xml.reload = true

webwork.url.http.port = 8080


xwork.xml是來設定動作(action)的檔案

http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">












而在WEB-INF資料夾中需要web.xml檔案才是個JAVA網頁程式,web.xml內容如下。



http://java.sun.com/dtd/web-app_2_3.dtd">



 acelife

 

 

     contextConfigLocation

     

   classpath:/applicationContext*.xml

  


 


   

  

        webwork

        com.opensymphony.webwork.dispatcher.FilterDispatcher

   


   

        webwork

        /*

   


   

 

     org.springframework.web.context.ContextLoaderListener

 


              

 

  index.html

  index.jsp

 
 


到目前為止幾乎已經完成WebWork程式設定了,再來就是告訴Eclipse編譯過的class要放到webapp/WEB-INF/classes,可以在Project-->Properties然後選則Java Build Path底下有個Default output folder瀏覽選向webapp/WEB-INF/classes資料夾。然後上面的Source移除原來的專案名稱,點選Add Folder..重新選到

專案名稱下的src的java資料夾打就好,按OK按鈕,再按OK按鈕,就完成Java編譯輸出class的設定。

點選上面Libaries頁面,點右邊的Add JARs..把專案裡面的webapp/WEB-INF/lib的jar檔全部選進去,按OK完成網頁程式需要的jar檔設定。

再來點選左邊Tomcat來設定與Tomcat的整合,在General這頁,有個Is Tomcat Project要打勾,Context Name就是Application Name,輸入想要的名稱,如/demo,切記要輸入/斜線喔。底下有個Subdictionary to set as web application root(optional)

因為我們的jsp網頁和WEB-INF放在webapp裡面,所以這裡就填/webapp(記得加/斜線)就好了。


最後我們在專案資料夾上點選滑鼠右鍵,跳出一個選單,選Tomcat Project的Add Tomcat library to project build path,來設定與Tomcat的lib關連;再重複一次選Tomcat Project的Create JSP work dictionary,就可以看到專案資料夾裡面多一個work資料夾,所有runtime時產生的程式碼Java、class都會在這裡面。


好,完成全部設定了,我們先寫一個靜態網頁看看有沒有與Tomcat整合,在webapp資料夾中建立一個文件index.html內容就是最有名的Hello World。





Hello World








現在,點選Eclipse選單下方三個Tomcat圖示,左邊那個圖示來啟動Tomcat,在Eclipse下方的視窗中可以看到Tomcat運行的訊息。

然後我們開啟瀏覽器輸入http://localhost:8080/加上application名稱,如果剛剛設定的是/demo,那輸入http://localhost:8080/demo就可以看到Hello World訊息在瀏覽器中,這也表示Tomcat運作正常。




再來我們要開始寫WebWork程式了。我們先建立一個Class檔案叫做HelloAction,應該建立在專案裡的src/java資料夾中,內容如下。

package us.arez.action;


import com.opensymphony.xwork.ActionSupport;


public class HelloAction extends ActionSupport {


 private String world;


 public String getWorld() {

  return world;

 }


 public void setWorld(String world) {

  this.world = world;

 }


 public String execute() throws Exception {

  world = "Hello World from your Action";

  return SUCCESS;

 }

}


因此我們必須去更改xwork.xml的內容,知道這個動作(action)的存在。

http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">





   

     

      hello.jsp

     


   



然後需要在歡迎頁面加入這個動作(action)的連結,所以我們更改index.html的內容為:





Hello World




Hello World Action





最後我們還需要為這個動作(action)設定一個結果返回頁面,所以在webapp資料夾中建立了一個hello.jsp檔案。

<%@ taglib uri="/webwork" prefix="ww"%>






 

This is my first WebWork action



 



  What did the action say?





現在按瀏覽器重新整理的按鈕,可以看到網頁內多了一個連結,點下去這個連結,就會執行WebWork動作(action)並秀出結果返回頁面。

現在更新HelloAction.java的內容,如把world = "Hello World from your Action";改成world = "Hello World Wonderfully";,儲存檔案,然後點選瀏覽器的重新整理按鈕,看到畫面的改變了吧,這不是很棒嗎!!


除錯

並沒什麼問題,只要在程式碼設定中斷點,然後就可以在Tomcat中除錯了,真的是簡單愉快的事情阿。




上午 12:08 2006/2/21

ref= Guide to setup a development environment using Eclipse and Tomcat Plugin


arrow
arrow
    全站熱搜

    狼翔月影 發表在 痞客邦 留言(2) 人氣()