在servlets中,getAttribute()
和setAttribute()
僅與HttpSession
,ServletRequest
和ServletContext
相關聯,即屬性僅針對上下文,請求和會話範圍而定義。爲什麼不爲,例如,ServletResponse
或ServletConfig
?在Java servlet中,爲什麼僅爲上下文,請求和會話範圍定義屬性?
3
A
回答
2
- ServletConfig適用於web.xml中定義的
init-params
。 - 設置屬性
HttpServletResponse
不會利用任何東西,也不它將使任何意義,因爲響應客戶端 - 而不是從客戶端,即瀏覽器,這是不能夠理解的是,儘管如此。而且你必須明白,JSP和Servlet都在服務器端運行,無論如何。因此,settng屬性request
在servlet和得到這些在JSP中,不涉及客戶端都沒有。
6
屬性始終適用於一些範圍。例如,如果您希望它們僅應用於當前請求,則將它們綁定到請求對象。
同樣,如果你想讓它適用於當前的會話,然後將它們綁定到會話對象。與整個正在運行的應用程序實例相關的屬性在servlet上下文對象上設置。
你提出的對象具有完全相同的範圍,因爲這些已經提供:響應具有相同的範圍(a.k.a壽命)作爲請求。 servlet配置與servlet上下文具有完全相同的範圍。
因此,在這些方法上添加getAttribute()
/setAttribute()
只會增加混淆(「我是否在請求或響應中設置了屬性?」)並且不添加任何其他功能。
0
「請求」範圍是真正的「請求 - 應答」範圍。
相關問題
- 1. 春季請求和會話範圍有什麼區別?
- 2. iBATIS的 - 請求和會話範圍
- 3. 從會話複製屬性到請求範圍
- 4. struts 1.x表單範圍,爲什麼請求範圍更快?
- 5. CDI - 會話範圍 - 每個請求範圍的新會話範圍
- 6. 爲什麼Microsoft Oauth2 API會更改授權請求的範圍?
- 7. initOptions.js和worklight.properties文件中會話屬性的行爲是什麼?
- 8. 什麼是Maven「請求屬性」與「系統屬性」的定義?
- 9. 爲什麼Servlet規範中有魔術屬性暴露?
- 10. 爲什麼servlet在併發請求中暫停一會兒
- 11. 爲什麼我的範圍未定義?
- 12. 在bean中使用繼承時,爲什麼請求範圍會中斷?
- 13. 樣本http範圍請求會話
- 14. 檢索容器外的POJO中的servlet上下文,會話和請求
- 15. 爲什麼我的Spring會話範圍bean在會話中共享?
- 16. 會話屬性被設置爲Java中的對象,但在JSP中爲空。爲什麼JSP使用新會話?
- 17. 訪問會話範圍從請求Bean範圍的bean
- 18. 爲什麼PUT請求體未定義?
- 19. 爲什麼SWbemServices.ExecQuery會返回比請求更多的屬性?
- 20. 春天或servlet請求範圍問題
- 21. 爲什麼connect-mongo爲每個請求創建新會話?
- 22. 爲什麼我的Servlet不會以UTF-8響應JSON請求?
- 23. 如何spring綁定豆範圍與像HTTP請求範圍,會話等
- 24. 爲什麼屬性在函數中定義時未定義?
- 25. 爲什麼在請求中不能訪問屬性?
- 26. Servlet會話行爲和Session.invalidate
- 27. 爲什麼如果我按下F5,servlet會話結束?
- 28. Java Servlet如何從會話屬性中獲取特定值
- 29. 通過c:import上下文請求屬性
- 30. AFNetworking:按字節範圍下載請求(即:僅文件頭)