對於WebApps,web.xml可用於存儲應用程序設置。我如何閱讀這個文件。我的servlets在GlassFish v2服務器上運行。如何從WebApp中讀取web.xml
回答
添加一個init-PARAM:
<init-param>
<param-name>InitParam</param-name>
<param-value>init param value</param-value>
</init-param>
然後從Java代碼(servlet中)閱讀:
String initParam = getServletConfig().getInitParameter("InitParam");
不知道我完全理解這個問題......
假設您的Servlet擴展爲HttpServlet
?
HttpServlet
實現ServletConfig
,這樣你就可以使用找出servlet的具體參數:
在web.xml中
<servlet>
<servlet-class>com.acme.Foo</servlet-class>
<init-param>
<param-name>my.init.param</param-name>
<param-value>10</param-value>
</init-param>
</servlet>
在servlet的:
int x = Integer.parseInt(getInitParameter("my.init.param"));
同樣,你可以得到全球(上下文範圍)設置使用:
<context-param>
<param-name>my.context.param</param-name>
<param-value>Hello World</param-value>
</context-param>
在servlet的:
String s = getServletContext.getInitParameter("my.context.param");
當然,如果你使用一個框架,你的servlet,如春天一起,那麼你可以使用Spring的配置文件,而不是注入設置成你的web應用程序類。
看起來不錯。但我需要哪個`getServletContext`?見下一個評論。 – doekman 2009-02-06 14:58:12
Doekman,是否可以解釋爲什麼要閱讀web.xml文件?該文件中的設置針對WebContainer。如果你想通過配置參數,以您的應用程序被加載,那麼就使用上下文參數:
如果你真的需要讀取的文件,然後我敢肯定,你可以嘗試加載使用Java IO的文件。您唯一需要知道的是Glassfish在您的應用程序運行時使用的工作路徑。你可以嘗試像這樣System.getProperty(「user.dir」);
從那裏你可以使用相對路徑加載文件。例如www.exampledepot.com。
容器的選擇不應與此問題相關,因爲每個容器應實施servlet container規範,無論是Tomcat,Glassfish還是many others之一。
- 1. 從我的web.xml文件中,如何獲取我的webapp名稱?
- 2. 如何從appengine-web.xml中讀取系統屬性?
- 3. Junit測試用例,如何讀取web.xml
- 4. 在Web.XML中讀取系統屬性
- 5. 如何看到web.xml是在我的Web項目中讀取的
- 6. 如何讀取resources.groovy中的context-param(web.xml)值grails 2.3
- 7. 從Ant構建腳本中的web.xml讀取param
- 8. 從webjobs中以azure閱讀webapp的web.config
- 9. 如何從web.xml調用java.class?
- 10. 如何從web.xml指向tiles.xml
- 11. 如何使用普通Java類從web.xml讀取上下文參數值
- 12. 如何從servlet中永久修改web.xml
- 13. 如何從我的java類的web.xml中獲取servlet實例
- 14. 如何從jsp獲取web.xml中servlet的init參數?
- 15. 如何從文件中讀取,然後繼續從cin讀取?
- 16. 無法從web.xml讀取上下文參數
- 17. 從客戶端讀取web.xml的init-params gwt
- 18. 在Laravel中從WebApp中提取Rest API
- 19. webapp讀取文本文件ajax,httprequest,或
- 20. 如何從tomcat webapp中的context.xml文件獲取資源?
- 21. 爲什麼maven在尋找`webapp \ WEB-INF \ web.xml`而不是`web-app \ WEB-INF \ web.xml`
- 22. 如何從C#中的Response.OutputStream中讀取
- 23. 如何讀取非servlet java文件中的上下文參數/ web.xml值?
- 24. 如何從android:tag讀取@array?
- 25. 如何從textarea讀取流?
- 26. 如何從OSB讀取MSMQ
- 27. 如何從GridView讀取
- 28. 如何讀取從請求
- 29. 如何從XLSX(Excel)讀取?
- 30. 如何從coredata讀取NSData
也許你可以發佈你想要做的事情的例子代碼片段? – toolkit 2009-02-06 15:26:21
我想閱讀一些自定義設置。首先我嘗試了一個屬性文件,但我無法確定文件的路徑(它不在`System.getProperty(「user.dir」)`)中。 – doekman 2009-02-06 15:30:23