getAttribute()和getParameter()的区别

简介:
request.getParameter()——获取从Web客户端传递到Web服务器端的数据,代表HTTP请求数据; 用于Http协议层(个人认为)

request.getAttribute()和setAttribute()传递的数据只是存在于Web容器内部,在具有转发关系的Web组件之间共享。 Web容器内部的共享数据传递。
 
所以,
getParameter()得到的数据都是 String类型的。它是url中的参数值或者表单POST/GET提交传递过去的参数值。
例如 [url]http://demo.jsp?id=888[/url], 参数id,则获取id的值为888。
可见 getParameter()用于 客户端重定向
 
*******************
getAttribute()得到的数据是 object类型,需要强行转换得到相应类型。这是因为它是获取存放在Web应用特定范围中的数据值。
例如session或者request等等特定范围的共享数据。
getAttribute()用于 服务器端页面间的转发,即在sevlet中使用forward函数,或struts中使用了mapping.findForward。
getAttribute()只能get之前使用setAttribute()传递过来的数据。

本文转自 Icansoft 51CTO博客,原文链接: http://blog.51cto.com/android/112189
相关文章
|
7月前
|
JavaScript API
required string parameter ‘XXX‘is not present 的几种情况
required string parameter ‘XXX‘is not present 的几种情况
2040 0
Kam
|
前端开发
request.getParameter("**")获取不到值:
request.getParameter("**")获取不到值
Kam
1992 0
解决方案:Missing URI template variable ‘userName‘ for method parameter of type String
解决方案:Missing URI template variable ‘userName‘ for method parameter of type String
|
4月前
|
前端开发 网络安全
成功解决:request.getSession().getAttribute(“user“);获取值为空的问题
该文章讲述了解决在使用前后端分离技术(Vue+SpringBoot)时,因跨域问题导致的`request.getSession().getAttribute("user")`获取值为空的问题,通过后端设置响应头和前端配置axios携带凭证来确保Session共享。
|
6月前
request.getParameter()与request.getAttribute()
request.getParameter()与request.getAttribute()
解决Missing cookie ‘JssionId‘ for method parameter of type String问题
解决Missing cookie ‘JssionId‘ for method parameter of type String问题
182 0
|
7月前
|
Java Spring
@RequestParams是这作用?
@RequestParams是这作用?
|
SQL
Parameter ‘id‘ not found. Available parameters are [collection, list]
Parameter ‘id‘ not found. Available parameters are [collection, list]
244 0
request.getParameter、request.getParameterValues、request.getParameterMap用法
request.getParameter、request.getParameterValues、request.getParameterMap用法
149 0
|
JSON 数据格式
Required request parameter ‘name‘ for method parameter type String is not present 报错解决方法
Required request parameter ‘name‘ for method parameter type String is not present 报错解决方法
3780 0