我是新手。我有一個關於struts 2框架和tomcat的問題。我知道每個請求都有它自己的線程,但我的問題是在請求中共享的struts action中定義的全局變量。如果我有一個全局變量名爲 int pageNo;如果我有一個全局變量名爲 int pageNo;我使用的方法稱爲paginationAll() 我可以使用相同的變量(pageNo)另一個方法稱爲說paginatonMaterialAll()在同一個動作或每個線程有自己的一套變量,即使全局定義?tomcat如何像web容器一樣處理struts 2變量?
0
A
回答
1
Struts 1在您的操作類中使用全局範圍的變量/字段是不可取的 - 它們是在所有請求之間共享的。
但是,在Struts 2我相信這已經改變 - 現在爲每個請求構建動作。
參見:
http://struts.apache.org/2.0.14/docs/comparing-struts-1-and-2.html
Struts 2個的Action對象實例化對於每個請求,所以 沒有線程安全問題。 (在 實踐中,servlet容器生成每個請求, 和一個多對象 很多扔掉的對象不會強加 性能損失或影響垃圾 集合。)
0
你的問題不是很清楚,但這有助於:在Struts2中爲每個請求創建一個Action對象的新實例。
1
全局共享變量聽起來對我來說不是線程安全的。我會重新考慮這個設計。
相關問題
- 1. Struts 2如何處理請求參數
- 2. 我該如何處理if(2變量)?
- 3. 在Struts 2中處理ActionForward
- 4. 如何處理像A1,A2,...這樣的循環變量?在R
- 5. 如何使用Tomcat 6配置Struts 2?
- 6. 在Eclipse中處理Tomcat:使它像MyEclipse一樣簡單?
- 7. Apache + Tomcat + Struts 2配置
- 8. 如何處理windows批處理變量?
- 9. Tomcat - Web服務器還是Web容器?
- 10. 如何在Struts 2中連接2個動作類變量?
- 11. 容器如何處理JSP
- 12. 如何整合Restful Web Services與Struts 2
- 13. Struts 2中的全局異常處理
- 14. 在Struts 2中處理錯誤頁面
- 15. 在struts中處理會話2
- 16. httpclient處理器`replyExpression`變量
- 17. 預處理器宏變量
- 18. C++預處理器變量
- 19. Tomcat是一個Web服務器或Web容器
- 20. 數組像在另一個函數中的變量一樣被處理
- 21. 如何重寫Struts 2 REST插件中的XML處理程序
- 22. 批處理中的變量不像預期的那樣運行
- 23. 如何全局#定義一個預處理器變量?
- 24. 修改JSON變量名Struts 2的
- 25. 在Docker容器中處理tomcat應用程序的配置
- 26. 像Scala流一樣處理SQL ResultSet
- 27. Web開發如何處理常量值?
- 28. 如何在Struts 2中顯示圖像?
- 29. 在eclipse中爲struts 2 web應用程序啓動tomcat服務器時出錯
- 30. 如何以同樣的方式處理多個變量?
很難理解在您的操作中定義的那些「全局變量」是什麼。 Java沒有「全局變量」(你是指靜態字段或什麼?) – leonbloy 2010-05-26 21:06:20