0
我正在使用谷歌應用程序引擎,並且我在web.xml中定義了所有我的servlet路徑。有沒有辦法在代碼中定義這些而不是xml?我問,因爲web.xml文件非常冗長,我有很多servlet。如果我可以在某個地方的java代碼中註冊servlet,我可能會縮短一些東西。對web.xml的替代servlet定義?
謝謝
我正在使用谷歌應用程序引擎,並且我在web.xml中定義了所有我的servlet路徑。有沒有辦法在代碼中定義這些而不是xml?我問,因爲web.xml文件非常冗長,我有很多servlet。如果我可以在某個地方的java代碼中註冊servlet,我可能會縮短一些東西。對web.xml的替代servlet定義?
謝謝
您可以定義一個「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或您自己的)。
有很多框架可以這樣做。我想最流行的是Spring MVC –
您也可以始終實現一個調度程序servlet,它將根據您的編碼規則轉發到其他servlet。雖然是春天的粉絲,但我會盡量避免大多數框架的開銷,除非你有充分的理由。 – konqi
使用框架,他們會爲你解決這個問題和其他很多問題(數據綁定,API抽象等)。 – Nick