getAttribute和.getParameter的区别
2016-06-30 22:56
302 查看
一直对于request的东西感觉很抽象,不是很懂,今天用到了就又查了查,复习了一下。
一个request就是一个对象,setAttribute就是在request scope里面添加了一个变量。setAttribute就是在request的map里面put值
request.getAttribute是取的web容器里的值,在具有转发关系的web组件之间共享(servlet和jsp),即在request范围内存在对象。
request.getparameter会从web客户端传到web服务端,代表http请求数据,用于表单或url重定向时使用。
HttpServletRequest类有setAttribute()方法,而没有setParameter()方法
request.getParameter("username")只是处理参数,但是在有username这个参数的情况下,你可以认为是等价。getAttribute取到的是对象(object),parameter是个string返回值。
request.setAttribute()和getAttribute()方法传递的数据只会存在于web容器内部,在具有转发关系的web组件之间共享,这两个方法能够设置object类型的共享数据。
在jsp中,setAttribute是把这个对象放到该页面所对应的一块内存中,当页面服务器转发到另一个页面时,应用服务器会把这块内存拷贝到另一块页面内存中,
那么,既然对象是存在内存中的,用session来setAttribute就能在重定向的servlet和jsp传对象了,因为session的生命周期较长。
一个request就是一个对象,setAttribute就是在request scope里面添加了一个变量。setAttribute就是在request的map里面put值
request.getAttribute是取的web容器里的值,在具有转发关系的web组件之间共享(servlet和jsp),即在request范围内存在对象。
request.getparameter会从web客户端传到web服务端,代表http请求数据,用于表单或url重定向时使用。
HttpServletRequest类有setAttribute()方法,而没有setParameter()方法
request.getParameter("username")只是处理参数,但是在有username这个参数的情况下,你可以认为是等价。getAttribute取到的是对象(object),parameter是个string返回值。
request.setAttribute()和getAttribute()方法传递的数据只会存在于web容器内部,在具有转发关系的web组件之间共享,这两个方法能够设置object类型的共享数据。
在jsp中,setAttribute是把这个对象放到该页面所对应的一块内存中,当页面服务器转发到另一个页面时,应用服务器会把这块内存拷贝到另一块页面内存中,
那么,既然对象是存在内存中的,用session来setAttribute就能在重定向的servlet和jsp传对象了,因为session的生命周期较长。
相关文章推荐
- php 从指定数字中获取随机组合的方法
- [php入门] 2、基础核心语法大纲
- 有意思,使用FtpClient上传文件,上传后的文件总是会莫名奇妙的变大
- 【Matplotlib】设置刻度(1)
- PHP面向对象static修饰词的使用方法
- php一些应用技巧汇总
- php上传文件失败解决方式
- C#/PHP调用有SoapHeader的WebService
- php 上传文件实例 上传并下载word文件
- php 上传文件实例 注册账号
- php 文件上传
- php 关联数据库的留言板练习
- PHP接触
- [PHP]Yaf + composer 引起大幅性能下降
- php学习第一天
- Think PHP(TP)框架的基本使用 (三)
- vs2013开发php环境配置
- Yii1 跨模块调用模型
- 【Matplotlib】线设置,坐标显示范围
- 添加图片水印 PHP实现