http中getParameter和getAttribute的区别

最近项目中有用到从HttpServletRequest中获取参数的用法,通过request.getParameter()和request.getAttribute()都能获取到request中的参数,这两种有何区别?

request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。 

 request.setAttribute()getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。这两个方法能够设置Object类型的共享数据。 

小结起来就是:

来源不同: parameter是从客户端(浏览器)中由用户提供的,GET方法是从URL中提供的,POST方法是从请求体(request body)中提供的;attribute是服务器端的组件(JSP或者Servlet)利用requst.setAttribute()设置的。

操作不同:parameter的值只能读取不能修改,使用request.getParameter()读取;attribute的值既可以读取亦可以修改,读取可以使用request.setAttribute(),设置可使用request.getAttribute()。

数据类型不同:parameter在服务器获取时都以String类型,并且客户端的参数值只能是简单类型,不能是复杂类型,比如一个对象;attribute的值可以是任意一个Object类型。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值