JAVA学习提高之----如何用Eclipse和Tomcat Plugin来建立一个开发环境


此文件就是在說如何設定Eclipse和安裝Tomcat Plugin整合到Eclipse中,可以簡單的啟動、停止、重啟Tomcat,在Eclipse內的視窗中看到Tomcat顯示的狀態訊息、除錯和即時的改變程式碼,等等的,讓程式開發變成很愉快的事情喔。

準備工作,我使用下列的系統和軟體
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
解壓縮下載的檔案到<ECLIPSE_HOME>/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_HOME>就是剛剛安裝解壓縮Tomcat的資料夾。Context decleration mode 就是選Server.xml。
Advanced就是預設的不用更動,JVM Settings 需要確定有選擇一個JRE。
洏Source Path確定有勾選Automatically compute source path.
這樣就按OK按鈕關掉視窗。

建立一個新的專案
好,我們在Eclipse中建立一個專案,而專案的目錄結構如下,可以在Window-->Show View選Navigator模式來建資料夾。
<project_home>
+ 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一開始是空的。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
</beans>

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)的檔案
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
<xwork>
<include file="webwork-default.xml"/>
<package name="default" extends="webwork-default">
</package>
</xwork>


而在WEB-INF資料夾中需要web.xml檔案才是個JAVA網頁程式,web.xml內容如下。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp_ID">
 <display-name>acelife</display-name>
 
 <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>
   classpath:/applicationContext*.xml
  </param-value>
 </context-param>

   
   <filter>
        <filter-name>webwork</filter-name>
        <filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>webwork</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
   
 <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
              
 <welcome-file-list>
  <welcome-file>index.html</welcome-file>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list> 
</web-app>

到目前為止幾乎已經完成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。
<html>
<body>
<h1>Hello World</h1>
<p/>
</body>
</html>

現在,點選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)的存在。
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
<xwork>
<include file="webwork-default.xml"/>
    <package name="default" extends="webwork-default">
     <action name="hello" class="us.arez.action.HelloAction">
      <result name="success">hello.jsp</result>
     </action>
    </package>
</xwork>

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

<a href="hello.action">Hello World Action</a>

</body>
</html>

最後我們還需要為這個動作(action)設定一個結果返回頁面,所以在webapp資料夾中建立了一個hello.jsp檔案。
<%@ taglib uri="/webwork" prefix="ww"%>

<html>
<body>
  <h1>This is my first WebWork action</h1>
  <p/>
  What did the action say? <ww:property value="world"/>

</body>
</html>

現在按瀏覽器重新整理的按鈕,可以看到網頁內多了一個連結,點下去這個連結,就會執行WebWork動作(action)並秀出結果返回頁面。
現在更新HelloAction.java的內容,如把world = "Hello World from your Action";改成world = "Hello World Wonderfully";,儲存檔案,然後點選瀏覽器的重新整理按鈕,看到畫面的改變了吧,這不是很棒嗎!!

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




相关文章还有:

http://cwiki.apache.org/WW/setting-up-eclipse-with-tomcat.html

你可能感兴趣的:(JAVA学习提高之----如何用Eclipse和Tomcat Plugin来建立一个开发环境)