2016-11-14 19 views
0

我有一個小的spring引導java應用程序項目,用於實現使用Servlet的代理方法,該方法包含對項目的Maven依賴項,該項目爲我提供了一個UtilityServlet,我的項目的TestServlet並使用@Bean和@Configuration註釋註冊servlet映射。我的應用程序使用這種方法工作正常,但我有新的使用案例。如何在運行時動態地創建,註冊和映射servlet

我試圖能夠模塊化/參數化應用程序配置。

我想要的是能夠在應用程序啓動期間在運行時創建,註冊和映射servlet,這是基於需要映射的URL模式的數量作爲參數傳遞給應用程序。對於例如

servletUrl.properties包含以下3個URL映射:

servlet.url1 =/servlet1/*
target.url1 =/Target1時/
servlet.url2 =/servlet2/*
target.url2 =/TARGET2/
servlet.url3 =/servlet3/*
target.url3 =/target3/

基於上述映射,我希望在應用程序啓動時,應用程序在屬性文件中識別3個url映射,並創建並註冊3個不同的servlet,擴展UtilityServlet,每個映射一個。

有沒有辦法做到這樣的事情,Spring解決方案將是首選,但不一定是一個交易斷路器。在此先感謝球員

回答

0

讓你的單個Servlet實現調用一個路由類。

路由器讀取配置文件並根據其內容設置不同的處理程序類。

當調用來自Servlet時,它們會在調用URL上路由到正確的處理程序類。

例如,您的基本servlet可以具有'api'的基本URL映射。 當呼叫進來說'api/target1?param = etc'時,您只需將'target1'路由到正確的處理程序。