【我】2013-09-11【JSP】request 对象:getParameter 和 getAttribute的区别

request 对象:getParameter 和 getAttribute的区别

 (1)数据类型

request.getParameter()获得的是字符串类型.

request.getAttribute()获得的是对象类型。更多的是String 和 List。

 

 (2)数据来源

request.getParameter() 获取的是客户端发送的参数。request.getAttribute()获得的是后台设置setAttribute,返回的新参数。

同一次Session,不同的jsp页面跳转,request.getParameter()都可以获取客户端发送时一直保存的参数。

但是request.getAttribute(),只能保存当前jsp的直接上层Controller设置setAttribute()返回的新参数。

 

(3)作用域

request.getParameter()  --  request

request.getAttribute() -- Session

 

(4)使用场合

一般的网页应用,基本上是基于Post方式的传递,用getParameter 获取客户端参数。一般是表单中的参数。
对于自己后台设值控制的,可以通过request.setAttribute和getAttribute   实现后台和表现层的值传递
对于应用Structs框架的,getAttribute用的多一点,其他的基本上用getParameter。


 (5)扩展

getParameterNames() 获得表单或则url中的参数的数组
getattributeNames():返回request对象所有属性的名字,结果集是一个Enumeration(枚举)类的实例

getAttribute()所要得到的属性值因为存在session中,所以重定向后仍可以取出。
getAttribute()在request和session中都有,只是作用域不同,在取之前肯定是要在某个地方存一下,这种东东可以存取对象。

 

 

 

 

 

 

 

 

posted on 2013-09-11 14:36  大步罗马  阅读(147)  评论(0)    收藏  举报

导航