需要將Java類(在我的項目中命名爲HistoryBean)添加到ServletContext。我不想在我的項目中有不同的Servlet中創建HistoryBean類的新實例。我想從ServletContext獲取它。請幫我提一些建議。如何向Web應用程序的應用程序範圍添加類
0
A
回答
3
你可以做,在一個ServletContextListener
:
public void contextInitialized(ServletContextEvent e) {
e.getServletContext().setAttribute("historyBean", new HistoryBean());
}
與@WebListener
註冊偵聽器,或者在web.xml中<listener>..</listener>
。
3
當您使用JSF時,只需將其註冊爲應用程序範圍的bean即可。
@ManagedBean(eager=true)
@ApplicationScoped
public class HistoryBean {
// ...
}
(注意eager=true
,這autoconstructs對web應用程序的啓動豆而不需要引用它的一些觀點或豆,你不需要爲這個ServletContextListener
)
這種方式是不僅在JSF上下文中常用的方式#{historyBean}
,但它在也可作爲與託管bean名稱的servlet上下文屬性作爲關鍵的servlet如下:
HistoryBean historyBean = (HistoryBean) getServletContext().getAttribute("historyBean");
相關問題
- 1. Java Web應用程序:全局應用程序範圍對象
- 2. 應用程序應該如何向現有的授權添加/刪除範圍?
- 3. 如何添加asp.net web應用程序
- 4. codeigniter的應用程序範圍類
- 5. Coldfusion應用程序範圍
- 6. 如何範圍添加到現有的Shopify應用程序安裝程序
- 7. MVC 4 web應用程序中的應用程序範圍日誌記錄
- 8. 應用程序設置範圍 - 用戶vs應用程序
- 9. 如何從Web應用程序加載iPhone應用程序
- 10. Web應用程序實用程序類
- 11. ASP.NET Web應用程序會話範圍類
- 12. 如何爲Rails應用程序創建應用程序範圍的slug路由?
- 13. 如何將谷歌硬盤範圍添加到谷歌應用程序MarketPlace應用程序清單
- 14. 如何在C#中向Windows Phone應用程序添加類?
- 15. 如何在角度應用程序中向父級添加類?
- 16. silverlight應用程序的日期範圍
- 17. Android應用程序指向一個Web應用程序
- 18. 向Silverlight應用程序添加資源
- 19. 向Cocoa應用程序添加幫助
- 20. 向Adf應用程序添加facelet taglib
- 21. 向iOS應用程序添加亂碼
- 22. 向mvc應用程序添加樣式
- 23. 逆向工程Web應用程序
- 24. 反向工程asp.net web應用程序
- 25. 如何更改Surface應用程序的應用程序方向
- 26. 向現有的ASP.NET應用程序添加單個Web服務
- 27. 添加MVC4.5 web應用程序到webforms 4.5應用程序的子目錄
- 28. 將「評價我的應用程序」添加到Web應用程序模板
- 29. angularjs應用程序結構/ $範圍
- 30. xQuery應用程序範圍變量?
感謝Bozho ....我 做過某事。現在我想弄清楚如何從ServletContext中獲取它,以便我可以使用HistoryBean中的方法........ – mona 2012-02-21 22:59:30
調用'ctx.getAttribute(「historyBean」)' – Bozho 2012-02-22 06:47:13