【问题标题】:Why does ServletRequest have setAttribute, instead of ServletResponse?为什么 ServletRequest 有 setAttribute,而不是 ServletResponse?
【发布时间】:2013-05-25 07:40:18
【问题描述】:

我不明白为什么 ServletRequest 有一个 setAttribute 方法。 例如: 如果我有一个包含 1 个文本框和一个提交按钮的 jsp 页面...

我的目标是当我提交时我的名字应该显示在该文本框中。 这里的问题:该文本框中显示的任何内容都是来自 servlet 的 响应 对吗?

但在我的 servlet 部分任务中: 写成 request.setAttribute("name","abc");

在jsp端:
写的是:<input type="text" value = < %request.getAttribute("name")% > >

我在 javadocs 中知道他们在请求中设置了属性,但为什么没有响应?

【问题讨论】:

标签: jsp servlets


【解决方案1】:

请求:从客户端到服务器

响应:从服务器到客户端

当您的客户端发送您的 servlet 请求时,您在请求中添加对象,然后在 jsp 中检索它。请求从 servlet 传递到 jsp。您的 jsp 检索对象,生成 HTML 并将其作为响应发送回您的浏览器. 您的客户端发送的相同请求从一个 servlet 或 jsp 传递到另一个 jsp 或 servlet,然后将它们编译为生成 HTML 格式并作为来自服务器的响应发送到浏览器。在响应中设置对象没有意义,因为浏览器只显示 HTML .

【讨论】:

    【解决方案2】:

    因为我认为设置响应的属性没有意义。你可以去旅馆订午餐。这是请求,午餐想要什么,是请求的属性。但是食物的质量,即响应完全取决于酒店(服务器)。相似地 当 Web 服务器响应对浏览器的 HTTP 请求时,响应通常由状态行、一些响应标头和文档(可选,如任何 JSON 数据或类似内容)组成。因此,如果您有 response.setAttribute 即意味着您可以将浏览器的名称从 Mozilla 更改为 Chrome,但这太疯狂了。

    【讨论】:

      【解决方案3】:

      当他们说 request.setAttribute(Object, Object) 时,它只是暗示该属性的范围仅适用于该请求,并且该属性将不存在于后续请求中。

      【讨论】:

      • 这比其他答案更清晰简洁
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 2018-07-21
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多