2010-07-24 21 views
4

我想從Java Web開發開始。首先,我想在Eclipse中使用Jetty服務器來設置良好的開發環境,這將允許開發週期較短。但我正在努力設置它。如何使用不帶插件的Eclipse設置Jetty?

還有其他問題,但它們對我來說可能是舊的或不完整的。我看到了使用插件的建議,但插件似乎已過時。另外,我並不想在開始時被要求使用Maven。

我見過的方式來建立碼頭在Eclipse中沒有的插件:

但是對我來說作爲服務器端Java和Jetty是新手,他們不完整。

我遵循鏈接文章中的步驟。但在第2步我不知道web.xml應該有什麼內容,我創建了一個空的XML文件。當我嘗試在第4步運行服務器,我得到java.lang.ClassNotFoundException: org.mortbay.jetty.webapp.WebAppContext

如何設置碼頭與Eclipse插件沒有?

UPDATE

隨着太平鳥的建議,我應該改變類,因爲它已經從碼頭6變化到碼頭7.我又開始Jetty服務器,現在我得到NoSuchMethodException

2010-07-25 13:37:22.849:WARN::Config error at <Set name="var">../sampleweb/sampleweb_webroot</Set> java.lang.NoSuchMethodException: class org.eclipse.jetty.webapp.WebAppContext.setVar(class java.lang.String) 
2010-07-25 13:37:22.849:WARN::Unable to reach node goal: started 
java.lang.NoSuchMethodException: class org.eclipse.jetty.webapp.WebAppContext.setVar(class java.lang.String) 

我的sampleweb.xml被放置在我的Jetty項目中的context目錄中,並具有從文章中獲取的此內容:

<?xml version="1.0" encoding="UTF-8"?> 
<Configure class="org.eclipse.jetty.webapp.WebAppContext"> 
<Set name="contextPath">/app</Set> 
<Set name="var">../sampleweb/sampleweb_webroot</Set> 
<Set name="extractWAR">true</Set> 
<Set name="copyWebDir">false</Set> 
<Set name="defaultDescriptor"> 
<SystemProperty name="jetty.home" default="."/> 
/etc/webdefault.xml</Set> 
</Configure> 

我喜歡設置一個簡單的Hello World servlet。

+1

根據我在Jetty站點閱讀的內容,Jetty包含一個servlet容器,但不包含EAR部署的容器。 – Kwebble 2010-07-24 15:18:42

+0

@Kwebble:好的,但我的意思是我想學習服務器端Java。 – Jonas 2010-07-24 16:27:56

+0

好的,因爲Jetty是一個不錯的選擇。 – Kwebble 2010-07-24 19:49:45

回答

0

你需要的碼頭服務器適配器 - 尋找安裝新的服務器 - 這允許您與解壓縮的碼頭6

0

該指南是在技術堆棧尚未爲您選擇不完整的工作。一個空的web.xml應該運行良好 - 但它也沒有什麼會由Jetty發佈。換句話說,您的應用程序中有接入點。

應該有很多提及web.xml。見this example<servlet><servlet-class>子元素指出實現javax.servlet.Servlet的類,該類是用於處理web請求的類的基本接口。另一方面,您可以使用類似Spring框架的東西,然後使用另一種方法,將Spring本身註冊爲servlet(或servlet偵聽器)。見this example from the official documentation。有很多其他的web框架,都需要不同的web.xml佈局。

至於你的第二個問題,你使用的是Jetty 6嗎?該指南是爲Jetty 6編寫的,因爲類名稱已更改,所以不適用於較新的版本。如果您使用的是Jetty 6,請考慮安裝ThorbjørnRavn Andersen在其答案中建議的Jetty服務器適配器。

+0

謝謝,我正在使用Jetty 7,並且現在已更改類名稱。我不明白我應該如何爲簡單的「Hello World」servlet配置我的'web.xml'。現在我得到了'NoSuchMethodException',請參閱我更新的問題。 – Jonas 2010-07-25 12:06:06

相關問題