2016-02-15 33 views
0

我正在使用谷歌應用程序引擎,並且我在web.xml中定義了所有我的servlet路徑。有沒有辦法在代碼中定義這些而不是xml?我問,因爲web.xml文件非常冗長,我有很多servlet。如果我可以在某個地方的java代碼中註冊servlet,我可能會縮短一些東西。對web.xml的替代servlet定義?

謝謝

+0

有很多框架可以這樣做。我想最流行的是Spring MVC –

+0

您也可以始終實現一個調度程序servlet,它將根據您的編碼規則轉發到其他servlet。雖然是春天的粉絲,但我會盡量避免大多數框架的開銷,除非你有充分的理由。 – konqi

+0

使用框架,他們會爲你解決這個問題和其他很多問題(數據綁定,API抽象等)。 – Nick

回答

0

您可以定義一個「main」servlet,它的任務是分派給其他servlet;在你web.xml,你會寫是這樣的:

<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5"> 
    <servlet-mapping> 
     <servlet-name>dispatcher</servlet-name> 
     <url-pattern>/*</url-pattern> 
    </servlet-mapping> 
    <servlet> 
     <servlet-name>dispatcher</servlet-name> 
     <servlet-class>com.mydomain.myapp.Dispatcher</servlet-class> 
    </servlet> 
</web-app> 

這將映射/*(你的整個應用程序)到您的調度類。然後,您可以在不同的路徑下向調度員註冊各種servlet(例如,您可以使用Spring DispatcherServlet或您自己的)。

相關問題