2015-03-02 251 views
-1

期間初始化這是關係到問題 How do i get servlet instance from web.xml in my java class訪問servlet是Web服務器啓動

鄉親並不清楚究竟是什麼類型的問題的用例。我有同樣的問題,想給一個用例。

在我的應用程序中,我有一個名爲Configuration的類,它擴展了HttpServlet。在我的web.xml中,我有一個爲配置定義的啓動時加載servlet。這個類讀取應用程序所需的所有屬性,並且在啓動過程中讀取此屬性是絕對必要的,因爲有些事情我根據屬性爲每個Web服務器實例做了不同的處理。現在我需要在我的彈簧控制器中獲得此實例的句柄,以便我可以獲取屬性的值。我該怎麼做?

回答

1

配置是Servlet有什麼特定的原因嗎?如果這個類的唯一目的是讀取以後要使用的屬性,並且它本身不提供任何請求,則它不應該是Servlet。

有兩種方法可以完成這些配置類。

一,你可以註釋這個類作爲一個@Component並使這個類在啓動期間由Spring實例化。然後你可以在需要它的地方注入這個bean。

第二種方式,不使用Spring,是在你的web.xml中註冊一個ServletContextListener。創建一個實現ServletContextListener的類並在contextInitialized()方法內調用屬性加載邏輯所在的Configuration類的方法。

http://www.mkyong.com/servlet/what-is-listener-servletcontextlistener-example/