2013-01-24 82 views
1

我在我的web.xml中有以下條目,我需要該java類文件中的那個類的實例 我該怎麼做?如何從我的java類的web.xml中獲取servlet實例

<servlet> 
    <servlet-name>DummyServlet</servlet-name> 
    <servlet-class>javax.faces.webapp.Xxxx</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
+0

你能更精確嗎?你的意思是「在我的java文件中該類的實例」? – sschrass

+0

有可能嗎? – vinod

+2

這並不完全合理。無論你用這種方法解決什麼問題,都應該以不同的方式解決。 [嘗試問一個關於真正的問題,而不是](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 – BalusC

回答

1

通常情況下,servlet容器負責爲web.xml中的每個servlet元素實例化一個Servlet實例,並使用它們處理請求並生成響應。否則,您可能需要解析web.xml並使用Class.forName(className)獲取servlet類,然後使用clazz.newInstance()創建一個實例,默認構造函數存在(它應該,因爲這個是一個servlet)。

1

目前我不相信你可以作爲servlet容器創建任何給定的servlet的一個實例,並生成線程,以應付需求。它只是不符合您的興趣獲得訪問容器所使用的那個實例

還有(現在不推薦使用)ServletContext.getServlet("yourClassName")。但是不要這樣做 我很難想象在什麼情況下你需要控制一個servlet實例,DI和好的設計無法幫助你避免。什麼是具體問題?

相關問題