Httpservletrequest.getParameter()和Httpservletrequest.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()才有效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用中提到了获取请求数据并封装的代码片段,其中使用了request.getParameter()方法。这个方法的作用是获取HTTP请求中的参数值。在这个例子中,通过传递的name和pwd参数,将其封装到User对象中。 引用中提到,对于request.getParameter()方法的作用,它用于获取HTTP请求中的参数值。通过这个方法,我们可以获取到前端传递过来的参数值,以便后续进行处理和使用。 引用中指出,request.setAttribute()方法和getAttribute()方法用于在Web容器内部传递数据。而HttpServletRequest类具有setAttribute()方法,但没有setParameter()方法。一般情况下,通过表单和链接传递的参数使用getParameter()方法来获取。 所以,req.getParameter()是用于获取HTTP请求中的参数值的方法,可以用来获取前端传递过来的参数值并进行相应的处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [request.getParameter();的意思](https://blog.csdn.net/IT_COOKIE_SAM/article/details/52722881)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [request.getParameter()方法](https://blog.csdn.net/wodegeekworld/article/details/41870123)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值