源:http://blog.csdn.net/explorers/archive/2005/08/15/454769.aspx
http://www.eclipseworld.org/bbs/read.php?tid=680&fpage=1&toread=&page=1
現在eclipse越來越好用了,隨著sun jdk5.0的補丁4的推出,eclipse3.1也正式發布,
二者結合,速度比以前快了很多。而wtp0.7 m5版本放出也有了一段時間,這個月月
底可能wtp0.7會有release了。現在二者都基本成熟,用eclipse+wtp開發JSP是很方便
的,但是關于wtp插件的配置和使用方面的文章卻不多。很多人覺得wtp太麻煩,
配不好不能用,本人一直用wtp開發jsp,常有朋友問相關的問題,所以寫了這篇文章
用來介紹WTP的配置和開發JSP的步驟。
這里介紹的主要是jdk5.0b4 + eclipse3.1 + wtp0.7m5環境下的配置和開發,
其他版本有細微的差異,但是主要的過程是相同的。
1. 下載安裝
這是當然的第一步啦,這里是連接:
http://www.eclipse.org/webtools/index.html
2. 配置
有很多項需要配置,羅列如下:
1) 配置java-buildpath
2) 配置JDK
TOMCAT運行的時候需要JDK,eclipse自動找到的是jre,如下圖:
3) 配置xml 和 internet 緩存
在web應用中通常有很多的xml文件,默認情況下wtp會去驗證這些xml文件,
這就需要有這些xml文件的定義dtd或者xsd文件。
wtp默認的會自動去下載,下載下來之后可以緩存之后供以后使用。
所以首先我們要打開緩存功能。見下圖,把disable cashing的勾去掉即可。
也可以把常用的xml文件的定義文件配置在xmlcatalog里邊,
這樣進行xml驗證的時候會自動使用這些文件,見下圖:
實在不行,只有把xml自動驗證去掉了,見Validation選項。
4) 配置tomcat服務器
現在我們來配置tomcat,其他服務器的配置大致相同,如下圖所示:
輸入tomcat的路徑和JDK
3 開發一個JSP
首先new一個dynamic web project,在確定之后會提示是否進入j2ee
perspective,選擇否,進入java perspective,如下圖:
(說明:如果是以前的版本,在new的時候可能找不到dynamic web
project,而是有一個Flexible project,那就先建一個Flexible project,
然后在這個project下建立就可以找到dynamic web project了!)
注意:第一次運行的時候,由于wtp需要驗證web.xml這個文件,所以
會去下載web.xml驗證要用到的dtd或者xsd,所以速度比較慢,
耐心等待,等所需要的文件全部下載下來之后以后就ok了。
工程建好之后,在下面創建java class和一個jsp文件,如下圖,
注意目錄結構:
上面圖中的java類和jsp都創建好了,現在我們在tomcat中測試這個jsp
頁面,右擊 webtests這個項目,在菜單中有一項run on server,點擊
后出來選擇服務器的對話框,選擇我們建立的tomcat服務器,然后添加
項目,finish。wtp會在eclipse內打開一個瀏覽器打開這個項目。
注意到wtp自動新建并打開的工程servers,這個工程是在tomcat下
測試jsp頁面所必須要有的,而且必須是打開的狀態,否則無法進行jsp
測試。
4. 常見問題的解決
1) no server錯誤
這個錯誤在一些版本的wtp里邊,就是一個紅叉叉的對話框,說no
server,此時請確認打開了servers這個工程。
2) 類未定義錯誤
如果你在web project中使用了一些外部的jar,比如說log4j之類,你
可能在工程的classpath中已經添加了這個jar,但是運行時還會找不到類,
這是因為這個jar沒有被copy到工程的部署目錄的 WEB-INF/lib目錄下,
顯示 Navigator視圖, 如下圖。".deployables" 是一個web project
被部署到的地方。把用到的jar 拷貝到lib下即可。
(另一個解決辦法是把jar拷貝到 /webtests/WebContent/WEB-INF/lib
目錄下,但是這樣做有一個缺點,在你想要查看你用到的包中類的源碼
會比較麻煩。我的做法是把常用的包配置到user library中,設定好源碼,
再加入到工程的classpath中。如果把jar拷到
/webtests/WebContent/WEB-INF/lib目錄下,那么這個時候webtests
這個工程的classpath中就有兩份同樣的包,在查看源碼的時候都要選擇,
而且會以 /WEB-INF/lib下的包為優先,這可能跟classpath中的順序有關,
但是不方便。所以直接把jar拷到 .deployables目錄下,可以解決這個
問題。希望以后版本的wtp中能解決這樣的問題,如果能夠自動的把
classpath中設置的所有jar都拷到 .deployables目錄下就方便了。)
3) context錯誤
有的時候會出現context錯誤,大致有兩種,一種是context重復錯誤,
這種情況下,tomcat無法啟動。
在servers工程里,把server.xml中重復的context條目手工刪除即可。
另一種錯誤是" no context"錯誤,這個時候tomcat可以啟動,但是瀏
覽器里邊會說找不到頁面,這就是說server.xml中沒有這個context,解決
的辦法是在servers explorer視圖中把server 刪除,然后重新添加這個web
應用,有時這樣還不能解決可以重新配置server。