我在我的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>
我在我的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>
通常情況下,servlet容器負責爲web.xml中的每個servlet元素實例化一個Servlet實例,並使用它們處理請求並生成響應。否則,您可能需要解析web.xml並使用Class.forName(className)獲取servlet類,然後使用clazz.newInstance()創建一個實例,默認構造函數存在(它應該,因爲這個是一個servlet)。
目前我不相信你可以作爲servlet容器創建任何給定的servlet的一個實例,並生成線程,以應付需求。它只是不符合您的興趣獲得訪問容器所使用的那個實例
還有(現在不推薦使用)ServletContext.getServlet("yourClassName")
。但是不要這樣做 我很難想象在什麼情況下你需要控制一個servlet實例,DI和好的設計無法幫助你避免。什麼是具體問題?
你能更精確嗎?你的意思是「在我的java文件中該類的實例」? – sschrass
有可能嗎? – vinod
這並不完全合理。無論你用這種方法解決什麼問題,都應該以不同的方式解決。 [嘗試問一個關於真正的問題,而不是](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 – BalusC