冰茶過後的喜悅–Eclipse 3_0+Lomboz 3_0+Tomcat 5_0_16)

來源:互聯網
上載者:User

北京悶熱的晚上已經讓我和我的愛姬(機)已經無法承受這窒息的空氣。Lomboz3卻還要在此時此刻火上澆油,搞了兩三天了,也沒個頭緒。網上那些一知半解、沒頭沒腦的文章更是讓人煩惱。
放鬆一下!一杯加了二分之一杯冰的極冷冰茶下肚後,整個人從頭涼到腳。
OK!開始吧!
1、  環境:
WIN2000pro
JDK 1.4.2_05 – Sun官方網站下載
Eclipse release 3.0 – Eclipse 官方網站下
Tomcat 5.0.16 – Jakarta官方網站下載
Lomboz 3.0 for Eclipse 3.0 – Lomboz官方網站下載,包括兩個檔案emf-sdo-runtime-2.0.0.zip,lomboz.3.zip。

2、  安裝軟體、配置環境變數(下面為我自己的環境)
JDK:
JAVA_HOME:C:\j2sdk1.4.2_05
PATH: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\j2sdk1.4.2_05\bin;
CLASSPATH: .;C:\j2sdk1.4.2_05\lib\tools.jar;C:\j2sdk1.4.2_05\lib\dt.jar;

TOMCAT:
TOMCAT_HOME: C:\Tomcat5

Lomboz:
先將emf-sdo-runtime-2.0.0.zip解壓到Eclipse3的目錄下;
然後 lomboz.3.zip 解壓到Eclipse3的目錄下

Eclipse:
與Eclipse 2不同,外掛程式並不是解壓到Eclipse中在啟動Eclipse後就可以被發現。
需要在Help—Software Updates—Manager Configuraton...中啟用所安裝的外掛程式。
如:

啟動EMF2.0.0和SDO2.0.0
工具列上應該出現,Lomboz J2EE View的表徵圖了。

3、  詳細配置
以下配置皆在windows—Perferences中進行。
(1)  Build Path
01


(2) Lomboz
02

(3)Lomboz—Server Definitions
Server Types選擇Apache Tomcat v5.0.x
a、  Properties
03

b、  Server Classpath
04


c、  Project Classpath
05

4、建立測試工程和頁面
並在C:\Tomcat5\conf\server.xml中加入如下內容,串連到項目。
//... ...
<Context debug="0"
docBase="D:\workspace\myJSP\test"
path="/test" reloadable="true" workDir="D:\workspace\myJSP\j2src\org\apache\jsp"/>

</Host>

</Engine>
//... ...

建立工程,選擇java lomboz project後,會有創建向導,幫助你創建LOMBOZ項目。
向導其中一個步驟就是“create j2ee module”,會有一個分頁表單,其中“web module”中應該建立project容器目錄,相當與一個web發佈目錄,我的容器目錄起名“test”;在“Targeted Servers”你的project運行所依靠的應用服務器(app server),根據目前的配置選擇“Apache Tomcat v5.0.x”。 
06

啓動lomboz項目,你單擊工具欄上的lomboz按鈕,會有一個lomboz的工作表單,其中有stop,run,refresh等功能。在這個表單中選擇你的lomboz工程,右鍵會有一個彈出菜單,選擇run server就可以運行了。
啟動Lomboz,然後在IE中測試頁面。
12

終於OK了,在配置過程中幾乎所有的問題都出在Server Classpath中,經過實驗後,上面中所包含的jar檔案,就可以保證你的LOMBOZ在運行過程中不會出錯了。

即使出現了問題,也不要著急,看清楚提示,然後檢查是否有Jar包沒有加到Server Classpath路徑上。

哦,心情舒爽了很多,外面夜雨也開始嘩嘩的下了起來。
風把帶有雨的氣息吹進屋內,呵呵,
可以安心、踏實的睡覺了。

另外在配置lomboz的過程中的一些問題,我是如下配置解決的:
1、關於el的問題:
在Server Classpath中匯入TOMCAT_HOME\common\lib\commons-el.jar

2、在解析jsp頁面時出現runtime的錯誤:
在Server Classpath中匯入TOMCAT_HOME\common\lib\jasper-runtime.jar

3、在解析jsp頁面時出現compiler的錯誤:
在Server Classpath中匯入TOMCAT_HOME\common\lib\jasper-compiler.jar

這樣一些常見的問題都可以解決。
其實Eclipse +Lomboz+Tomcat的使用中,出現比較多的撓人的問題都在配置上,所以冷靜下來仔細分析問題,一般都可以解決。比如“NoClassDefFoundError”一般產生原因都是因為classpath中缺少必要的類檔案。你就檢查是否在server classpath中包含了該類檔案所需要的jar包。

4、設定檔workDir="D:\workspace\myJSP\j2src\org\apache\jsp"中的\org\apache\jsp什麼意思啊??

如果你用的是Tomcat4的話,lomboz和tomcat搭配不能產生自己工作環境,這是由tomcat4.x自身原因導致的,所以必須:
1).在Tomcat的config目錄下的server.xml檔案中添加以下行(具體位置請參見server.xml相關的文獻):
<Context path="/TestJsp" docBase="D:\DebugJsp\debugJsp"workDir="D:\DebugJsp\j2src\org\apache\jsp">
其中,path表示Web應用的URL名字;docBase表示web應用的物理位置;workDir表示jsp所對應的java檔案產生的位置,必須建立org\apache\jsp這樣的目錄結構和名稱。
2).根據org\apache\jsp在對應的j2src目錄下建立相對應的子目錄結構,同時把j2src設定為工程的source目錄。
因此,你沒有在j2src設立org.apache.jsp目錄結構,所以在編譯時間會報,找不到package org.apache.jsp。

但是Tomcat5x後這個問題已經更正了,不需要再設立org.apache.jsp的目錄結構,就可以正確編譯,如果你開啟j2src目錄會發現已經自動建立了org.apache.jsp。所以Tomcat5下只要聲明:
workDir="D:\workspace\myJSP\j2src“就可以了。
09

如果你一定要加上目錄結構像這樣:
workDir="D:\workspace\myJSP\j2src\org\apache\jsp"
你會發現tomcat5在編譯時間,就會預設把workDir作為工程編譯目錄,仍會在目錄最末層建立org.apache.jsp的package結構。
10

5、使用哪個Tomcat版本的問題
另外關於使用哪個Tomcat版本的問題,我個人覺得只要是Lomboz官方發布的版本中支援的Tomcat版本都應該可以配置成功。所以,那種說換個版本就成功了,可能在出問題的tomcat版本配置上還是有一定問題。

6、Lomboz3不支援Tomcat5.0.27嗎?
Lomboz3不支援Tomcat5.0.27在國外論壇已經能找到問題所在了。是Lomboz3針對Tomcat5x的支援檔案有一個莫名錯誤。
在%ECLIPSE_HOME%\plugins\com.objectlearn.jdt.j2ee_3.0.1\servers\tomcat50x.server檔案中,尋找“-Djava.endorsed.dirs”字串,正確的設定應該是-Djava.endorsed.dirs="${serverRootDirectory}/common/endorsed",要刪去一個莫名路徑。一共要修改兩處。修改完了,Tomcat就能順利起來了。

Tomcat5.0.28好像沒有這個問題吧,我用的5.0.28是沒問題的,以前用Tomcat5.0.27確實存在這個問題,照Lomboz網站上所說的方法修改後Tomcat確實能啟動了,但是我發現修改那個檔案之後會產生新的問題,所以建議用Tomcat5.0.27的朋友們不要在Lomboz中啟動Tomcat,直接把發布方式改成寫xml檔案的方式進行調試,或者乾脆換個版本的Tomcat。

7、lomboz project中關於servlet如何自動加到web.xml中
關於Servlet的mapping問題,目前我也是手工加入的。如果你能找到好的辦法也請通知我。

8、servlet如何自動產生在web-inf/classes目錄下?
關於Servlet的儲存目錄,如果使用lomboz產生的web project預設servlet儲存在bin目錄下。為了方便調試和發布,正常情況下應該在classes目錄下,需要如下設定:
在project屬性中,按圖片中所示設定。
這樣servlet編譯後的class檔案就會按照你的package結構自動放置在classes下面了。
11

9、怎麼解決lomboz從.jsp檔案轉.java(servlet)檔案時候中文亂碼的問題
關鍵是jsp檔案中要設定編碼格式。
<%@ page language="java" contentType="text/html;charset=gb2312" %>
下面的gif圖片,說明了當jsp檔案中加入上面的標籤後,原來在servlet中亂碼的中文現在可以正確的顯示了,觀察一下servlet發現,增加了
response.setContentType("text/html;charset=gb2312");
但該句對代碼中的中文是否是亂碼,並沒有起到關鍵作用,只是告訴servlet,要將代碼中的中文以指定的編碼格式輸出(是為了執行結果而指定的中文編碼格式)。導致servlet代碼中的中文可以正確顯示的原因,在於lomboz在將.jsp檔案解析為.java時,因為發現了<%@ page language="java" contentType="text/html;charset=gb2312" %>這個標籤,所以將.jsp編譯為.java時,對其中的中文字元做了相應的編碼轉化。所以一句話,保證servlet代碼中不出現亂碼,關鍵在jsp檔案中。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.