java - 在 Java servlet 中,为什么只为上下文、请求和 session 范围定义属性?

标签 java servlets attributes

在servlets中,getAttribute()setAttribute()只与HttpSessionServletRequestServletContext,即仅为上下文、请求和 session 范围定义属性。为什么不为 ServletResponseServletConfig 呢?

最佳答案

属性总是适用于某些范围。例如,如果您希望它们仅应用于当前请求,则将它们绑定(bind)到请求对象。

类似地,如果您希望它应用于当前 session ,则将它们绑定(bind)到 session 对象。与整个正在运行的应用程序实例相关的属性在 servlet 上下文对象上设置。

您建议的对象与已经提供的对象具有完全相同的范围:响应与请求具有相同的范围(即生命周期)。 servlet 配置与 servlet 上下文具有完全相同的范围。

因此,在这些方法上添加 getAttribute()/setAttribute() 只会增加困惑(“我是在请求上还是在响应上设置了属性?”)而不添加任何附加功能。

关于java - 在 Java servlet 中,为什么只为上下文、请求和 session 范围定义属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6262107/

相关文章:

c# - C# 中的默认值属性

c# - [Computed] 和 [Write(false)] 属性之间有什么区别?

java - android - 将 ToggleButton 转换为子类

java - 机器人。 waitForActivity() 为 TabHostActivity 中的嵌入式 Activity 返回 false

java - Java 和 .NET 字符串文字驻留在哪里?

java - 当 jsp 到 servlet 调用时,上下文路径未在 url 中设置

java - 如何在写入后清除 PrintWriter 的内容

python - 处理具有作为参数给定的大量属性的对象的正确/Pythonic 方法

java - 对于某些在线编译器,扫描器 next() 会抛出 NoSuchElementException

servlets - 在soapMessageContext - Axis Handler中获取 "HttpServletRequest"