【我】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中都有,只是作用域不同,在取之前肯定是要在某个地方存一下,这种东东可以存取对象。
浙公网安备 33010602011771号