如何創建用於多種用途的單例類 以及如何使用該單例類連接到jsp如何從JSP創建和引用單例對象?
-1
A
回答
3
我不確定爲什麼你想直接連接到來自JSP的單例。如果您要訪問的效用函數我會用JSTL功能去:
<function>
<name>decodeBase64</name>
<function-class>nl.wikiwijs.web.portal.Base64Util</function-class>
<function-signature>java.lang.String stringDecodeBase64(java.lang.String)</function-signature>
</function>
在哪裏「功能簽名」指向一個靜態方法在「功能類」課程。上述應在TLD,然後我可以像這樣使用:
${mynamespace:decodeBase64("my value")}
如果單將被用於檢索數據或公開業務邏輯我想它搬回到控制器/動作/組件取決於您的架構。
1
如果您打算在Java EE應用程序中使用Singleton模式,請參閱this article。它將提供一些重要的見解以及進一步研究的鏈接。
正如p3t0r所述,直接從JSP內使用服務在架構上並不健全。嘗試使用某種MVC框架(例如Spring Web MVC,它們與Spring DI容器一起使用,也可以免除使用您自己的單例實現)分離關注點。
0
基本singleton設計模式有幾個特點:
- 沒有構造:確保默認的構造函數是私有
- 創建調用私有構造(或多個)靜態函數,如果對象是不已經實例化了
- 有一個靜態實例變量,它是它自己的類的類型。一個簡單的單類實現的
一個例子是:用於連接到在jsp
public class SingletonClass {
private static SingletonInstance si;
private SingletonClass() {
}
public static synchronized SingletonClass getSingletonInstace() {
if (si == null)
return new SingletonClass();
return si;
}
}
+1
此實現不正確:它不是線程安全的。 – p3t0r 2009-10-16 10:18:52
1
,你會用p3t0r的答案。
爲單身,你會用一個懶惰的私有靜態類單身其中guarentees線程安全*:
public class SingletonClass {
private static class LazySingletonInitializer {
static SingletonClass instance = new SingletonClass();
}
private SingletonClass(){}
public SingletonClass getInstance() {
return LazySingletonInitializer.instance;
}
}
(*),因爲一類的靜態成員由JVM保證的廣告將僅由一個線程初始化。
相關問題
- 1. 如何在jsp中創建json對象?
- 2. JSP隱式對象是單例對象?
- 3. 以單例模式創建對象時引用返回什麼
- 4. 如何從純抽象基類引用創建對象副本?
- 5. 從對象數組創建一個對象引用父對象
- 6. 如何從父對象創建對象?
- 7. JSP - 從下拉菜單選擇中創建日期對象
- 8. 如何在jsp中創建類和對象?
- 9. 如何在jsp中創建會話對象和會話變量?
- 10. 創建對象的引用
- 11. 創建對象的引用
- 12. 創建對象的方法只適用於單例對象嗎?
- 13. 如何創建對象的實例?
- 14. Java多線程:創建單例對象
- 15. 在單例類中創建'Player'對象
- 16. 如何在內聯對象創建中引用父對象?
- 17. 如何引用創建對象的對象?
- 18. 如何從其創建的對象內引用控制器?
- 19. 如何從數組和已有對象創建新對象?
- 20. 如何從對象引用
- 21. 保持對象和引用在函數內創建的對象
- 22. 如何在Scala中創建對象列表(即單例)?
- 23. 如何在單例中創建QML對象?
- 24. 如何測試單例類只創建一個對象
- 25. 如何在rails中創建單例全局對象
- 26. 如何創建一個進程範圍的單例對象?
- 27. 如何使用變量創建對我的對象的引用?
- 28. 創建對象實例
- 29. 如何基於對象名稱創建javascript對象的實例
- 30. 創建未設置爲對象實例的Outlook應用程序對象引用
單身人士是一個單一的類,但你使用複數類。你需要詳細說明你真正的意思和需要達到什麼,以及爲什麼你認爲你需要一個單身人士。 – 2009-10-16 08:59:09