HttpServletRequest.getParameter(String)和getAttribu
博客专区 > Oscarfff 的博客 > 博客详情
HttpServletRequest.getParameter(String)和getAttribu
Oscarfff 发表于2年前
HttpServletRequest.getParameter(String)和getAttribu
  • 发表于 2年前
  • 阅读 46
  • 收藏 0
  • 点赞 1
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: HttpServletRequest.getParameter(String)和getAttribute()的区别

getParameter(String)和getAttribute()这两个方法都是从request对象中获得参数的方法。但实际上他们之间有着本质的区别。

 

1. getParameter()是指客户端和server端之间的数据传递。我们在从浏览器端发出一个请求到server端时(无论是GET和POST方式),所有的参数都是被包装成了String的形式之后才被传递到server端的。所以,我们在server端的代码中就可以通过request.getPapameter(String)的方式来取得。

 

2. getAttribute()一向是和setAttribute()一起使用的,只有先用setAttribute()设置之后,才能够通过getAttribute()来获得值,它们传递的是Object类型的数据。而且必须在同一个request对象中使用才有效。

何谓同一个request呢?例如,在同一个servelet中,同一个Action中(Struts),同一个JSP中等等;或者是同一个request被forward了多次,那么每一个处理这个request对象的web组件都是使用的同一个request对象;或者include的方式也是一样的。

 

从以上分析,这两者之间的区别就很明确了。getParameter()是在数据从客户端到server端之后才有效的,而getAttribute()则是server端内部的事情,只有在server端调用了setAttribute()之后,并且没有redirect,没有到客户端之前,getAttribute()才有效。

 

同理,getParameterNames()和getParameterValues(String)跟getParameter(String)是一样的道理。


共有 人打赏支持
粉丝 71
博文 801
码字总数 96852
×
Oscarfff
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: