日期:2014-05-18  浏览次数:20762 次

jsp内置对象response对象问题
请问:
当使用response对象设置消息的时候 如使用setHeader()方法 是将消息设置到什么地方呢 是设置到response对象中呢 还是设置到其它的地方呢
请各位详细说说自己的看法 并说明自己的理由 请勿谈论与此问题无关的话题
谢谢

------解决方案--------------------
Web服务器的HTTP应答一般由以下几项构成:一个状态行,一个或多个应答头,一个空行,内容文档。设置HTTP应答头往往和设置状态行中的状态代码结合起来。例如,有好几个表示“文档位置已经改变”的状态代码都伴随着一个Location头,而401(Unauthorized)状态代码则必须伴随一个WWW-Authenticate头。

   然而,即使在没有设置特殊含义的状态代码时,指定应答头也是很有用的。应答头可以用来完成:设置Cookie,指定修改日期,指示浏览器按照指定的间隔刷新页面,声明文档的长度以便利用持久HTTP连接,……等等许多其他任务。

   设置应答头最常用的方法是HttpServletResponse的setHeader,该方法有两个参数,分别表示应答头的名字和值。和设置状态代码相似,设置应答头应该在发送任何文档内容之前进行。

   setDateHeader方法和setIntHeadr方法专门用来设置包含日期和整数值的应答头,前者避免了把Java时间转换为GMT时间字符串的麻烦,后者则避免了把整数转换为字符串的麻烦。
本篇文章来自<A href='http://www.soidc.net'>IDC专家网</a> 原文链接:http://www.soidc.net/discuss/1/060821/11/290417_1.html
------解决方案--------------------
Web服务器的HTTP应答一般由以下几项构成:一个状态行,一个或多个应答头,一个空行,内容文档。设置HTTP应答头往往和设置状态行中的状态代码结合起来。例如,有好几个表示“文档位置已经改变”的状态代码都伴随着一个Location头,而401(Unauthorized)状态代码则必须伴随一个WWW-Authenticate头。

   然而,即使在没有设置特殊含义的状态代码时,指定应答头也是很有用的。应答头可以用来完成:设置Cookie,指定修改日期,指示浏览器按照指定的间隔刷新页面,声明文档的长度以便利用持久HTTP连接,……等等许多其他任务。

   设置应答头最常用的方法是HttpServletResponse的setHeader,该方法有两个参数,分别表示应答头的名字和值。和设置状态代码相似,设置应答头应该在发送任何文档内容之前进行。

   setDateHeader方法和setIntHeadr方法专门用来设置包含日期和整数值的应答头,前者避免了把Java时间转换为GMT时间字符串的麻烦,后者则避免了把整数转换为字符串的麻烦。

setContentType:设置Content-Type头。大多数Servlet都要用到这个方法。
setContentLength:设置Content-Length头。对于支持持久HTTP连接的浏览器来说,这个函数是很有用的。
addCookie:设置一个Cookie(Servlet API中没有setCookie方法,因为应答往往包含多个Set-Cookie头)。
------解决方案--------------------
response.setHeader()是设定Http文件头信息的值,他们是内在对象,也是一种对象,所以当服务器对客户端作出响应时,就自动生成response对象,客户端可以通过request.getHeader()来获取这个值。其实放在什么地方并不重要,重要的是会用response和request
------解决方案--------------------
引用楼主 xubin1204 的帖子:
请问:
当使用response对象设置消息的时候 如使用setHeader()方法 是将消息设置到什么地方呢 是设置到response对象中呢 还是设置到其它的地方呢
我的疑问是response对象是将信息设置在什么地方 例如 保存在对象中 保存在容器的某些类中 为什么
谢谢

------解决方案--------------------
WEB容器和客户端浏览器按照HTTP协议开发,为应用软件程序员提供协议数据的交互接口
------解决方案--------------------
1、当服务器接到来自客户端的请求时,会生成一个请求和一个响应的对象(HttpServletRequest\HttpServletRespone)
2、服务器取得客户端请求的资源(html/img……)
3、服务器通过响应对象(HttpServletRespone),把响应结果和客户端请求的资源返回给客户端
response.setHeader()就是设定的HttpServletRespone对象的HttpReponseheader部分
------解决方案--------------------
response.setHeader()就是将头信息设置到response对象中 返回给客户端

response对象是jsp内置对象