request response中的attribute,parameter和header信息

来源:互联网 发布:linux 7 路由跟踪 编辑:程序博客网 时间:2024/05/24 20:08
       request.getParameter
       取得Web客户端到web服务端的http请求数据(get/post),只能是string类型,而且HttpServletRequest没有对应的setParameter()方法。

       如利用href(url)和form请求服务器时,表单数据通过parameter传递到服务器,且只能为字符串。
当两个web组件为链接关系时,被链接组件通过getParameter来获取请求参数。

       request.getAttribute():
       当两个web组件为转发关系时,通过getAttribute()和setAttribute()来共享request范围内的数据。
       attrubute中的数据是Object类型的,通过attribute传递的数据只会存在于web容器内部,仅仅是请求处理阶段。数据不会出现在response和web客户端中

       request.setAttribute是服务器把这个对象放在该页面对应的一块内存中,当发生服务器重定向时,会把这块内存拷到另一页面对应的内存中,这样getAttribute就可以取到值,session也一样,只是对象在内存的生命周期不一样。
      
      request.getHeader()和response.setHeader(),response.getHeader()是对消息头信息的设置与处理,主要针对的是客户端浏览器对象的指令传达与信息设置,包括,cookie,session,refresh,MIME等
       小结:
       request.getAttribute()方法返回request范围内存在的对象
       request.getParameter()获取http请求提交过来的数据。
       一般的Web应用,基本上是post方式的传递,用getParameter取值。对于自己控制的,可以request.setAttribute和getAttribute实现值的传递。

对于应用struts的,getAttribute用的多一点,其他的基本用getParameter,一个可以传对象,一个只能传字符串。

原创粉丝点击