getAttribute与getParameter比较

HttpServletRequest介绍和使用 简单演示了HttpServletRequest的使用 阅读详情

(1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法

(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,

(3)当两个Web组件之间为转发关系时,转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据。

一般通过表单和链接传递的参数使用getParameter

通过request.setAttribute("name","jerry")的方式赋值的使用request.getAttribute("name")

这个问题主要是request和session的差别,request范围较小一些,只是一个请求,简单说就是你在页面上的一个操作, request.getParameter()就是从上一个页面中的url、form中获取参数,但如果一个request涉及多个类,后面还要取参数,可以用request.setAttribute()和request.getAttribute(),但是当结果输出之后,request就结束了。

而session可以跨越很多页面,可以理解是客户端同一个IE窗口发出的多个请求。这之间都可以传递参数,比如很多网站的用户登录都用到了。

一般可以用getParameter得到页面参数。。。字符串。。。

getAttribute()可以得到对象。。。

getParameter可以得到页面传来的参数如?id=123之类的。

getAttribute()常用于servlet页面传递参数给jsp

个人见解:

当用户把值作为链接参数传递给下个页面或serve时,用getParameter()获取.如aa.jsp?id=1;还有表单的提交.

当用户把值放在了request中的一个属性时(request.setAttribute("aa","tt"),"aa"这个属性名可以任意取的),用getAttribute(属性名)获取.

request范围较小一些,只是一个请求,简单说就是你在页面上的一个操作, request.getParameter()就是从上一个页面中的url、form中获取参数。但如果一个request涉及多个类,后面还要取参数,可以用request.setAttribute()和request.getAttribute(),但是当结果输出之后,request就结束了。

而session可以跨越很多页面。范围大于request。

 

 

 

request.getParameter() 和request.getAttribute() 

(1)request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据,,request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。 
(2)request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。 
request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部 

还有一点就是,HttpServletRequest类有setAttribute()方法,而没有setParameter()方法。 
拿一个例子来说一下吧,假如两个WEB页面间为链接关系时,就是说要从1.jsp链接到2.jsp时,被链接的是2.jsp可以通过getParameter()方法来获得请求参数. 
假如1.jsp里有 
<form name="form1" method="post" action="2.jsp"> 
请输入用户姓名:<input type="text" name="username"> 
<input type="submit" name="Submit" value="提交"> 
</form>的话在2.jsp中通过request.getParameter("username")方法来获得请求参数username: 

<% String username=request.getParameter("username"); %> 

************************************************************ 
但是如果两个WEB间为转发关系时,转发目的WEB可以用getAttribute()方法来和转发源WEB共享request范围内的数据,也还是说一个例子吧。 
有1.jsp和2.jsp 
1.jsp希望向2.jsp传递当前的用户名字,如何传递这一数据呢?先在1.jsp中调用如下setAttribute()方法: 
<% 
String username=request.getParameter("username"); 
request.setAttribute("username",username); 
%> 

<jsp:forward page="2.jsp" /> 

在2.jsp中通过getAttribute()方法获得用户名字: 
<% String username=(String)request.getAttribute("username"); %> 

 

 

 

getAttribute 和 getParameter 的区别

 

1.getAttribute是取得jsp中 用setAttribute設定的attribute 
2.parameter得到的是string;attribute得到的是object 
3.request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据; request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间 共享。即request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是 获取http提交过来的数据。

 

JSP中getParameter与getAttribute有何区别?
——说实话,这个问题当初我也困惑很久,我也知道怎么用,可是到底有什么区别,我也不是很清楚,后来找了很多资料才明白。昨天又有一位朋友问我这个问题,想我当初同样也困惑过,于是我就把这个问题贴出来,让同样困惑的朋友解惑。
——getParameter得到的都是String类型的。或者是
http://a.jsp?id=123中的123,或者是某个表单提交过去的数据。
——getAttribute则可以是对象。
——getParameter()是获取POST/GET传递的参数值;
——getAttribute()是获取对象容器中的数据值;
——getParameter:用于客户端重定向时,即点击了链接或提交按扭时传值用,即用于在用表单或url重定向传值时接收数据用。
——getAttribute:用于服务器端重定向时,即在sevlet中使用了forward函数,或struts中使用了mapping.findForward。getAttribute只能收到程序用setAttribute传过来的值。
——getParameter()是获取POST/GET传递的参数值;
——getAttribute()是获取SESSION的值;
另外,可以用setAttribute,getAttribute发送接收对象.而getParameter显然只能传字符串。
setAttribute 是应用服务器把这个对象放在该页面所对应的一块内存中去,当你的页面服务器重定向到另一个页面时,应用服务器会把这块内存拷贝另一个页面所对应的内存中。 这样getAttribute就能取得你所设下的值,当然这种方法可以传对象。session也一样,只是对象在内存中的生命周期不一样而已。
getParameter只是应用服务器在分析你送上来的request页面的文本时,取得你设在表单或url重定向时的值。

getParameter 返回的是String, 用于读取提交的表单中的值;       
getAttribute 返回的是Object,需进行转换,可用setAttribute设置成任意对象,使用很灵活,可随时用;

个人认为: 
request.getAttribute():是request时设置的变量的值,用request.setAttribute("name","您自己的值");来设置值, 
request.getParameter():提取发送过来的参数如:本网页 
http://community.youkuaiyun.com/Expert/topic/4633/4633804.xml?temp=.3488123 
request.getParameter("temp")==".3488123"

request.getParameter 
是用来接受来自get方法或post方法的参数 
<form method=post> 
<form method=get> 
<a href="1.jsp?id=1">ok</a> 
只能接受java.lang.String 
也就是说String hotel_id = request.getParameter("hotel_id"); 
request.getAttribute 
是用来接受来自servlet的变量或Action(其实Action就是特殊的Servlet) 
在Action中,request.setAttribute("ret",ret); 
只能接受java.lang.Object 
也就是说List ret = (List)request.getAttribute("ret"); 
如果你只用JSP,根本用不到request.getAttribute()

request.getAttribute()和request.getParameter()的区别是request.getAttribute()获得的是对象类型,而request.getParameter()获得的是字符串类型

一般的网页应用,如同 chenshaizi(陈绍彬) 所说,基本上是基于Post方式的传递,用getParameter取值。对于自己控制的,可以通过request.setAttribute和getAttribute 实现值得传递。 
对于应用Structs框架的,getAttribute用的多一点,其他的基本上用getParameter

我的理解:
session.getAttribute();获得session
request.getParameter();获得parameter

1.getParameter可以获得客户端传送给服务器端的参数值。    
getAttribute可以得到由setAttribute设置的参数值,就相当于是使用getAttribute得到一个自己定义的参数,而不是从客户端得到的参数。
2.getParameter只能传递string类型的变量,getAttribute能传递vector。



getParameter(),获取表单的值 getAttribute()获得session的值
getParameterNames() 获得表单或则url中的参数的数组
getattributeNames():返回request对象所有属性的名字,结果集是一个Enumeration(枚举)类的实例

根据楼上,是不是 getParameter()得到的值如果下次不提交或保存起来的话,下次重定向后就没啦?
:理解对了
getAttribute()所要得到的属性值因为存在session中,所以重定向后仍可以取出?
getAttribute()在request和session中都有,只是作用域不同,在取之前肯定是要在某个地方存一下,这种东东可以存取对象



呵呵
http://community.youkuaiyun.com/Expert/topic/4763/4763471.xml?temp=.1793177
看见后面的?temp=.1793177没有,?号后面的这个东西用request.getAttribute("temp")就能得到字符串".1793177",
而getAttribute()之前,你必须在页面或者逻辑中用serAttribute()设置了才能用,已经很清楚了,我不再说了哈

 

Parameter是html裡傳來的 像 checkbox textfield password radio ...的value
getAttribute是取得jsp中用setAttribute設定的attribute

 

還有....
parameter得到的是string

attribute得到的是object

HttpServletRequest概述、相关方法、获取请求行信息、获取请求头信息相关方法及获取请求参数相关方法 HttpServletRequest概述及相关方法 阅读详情

相关推荐

Spring Boot 2从入门到入坟 | 请求参数处理篇:常用参数注解之@RequestAttribute

在本讲,我将会再来为大家介绍一个常用的参数注解,即@RequestAttribute,该注解从字面意义上翻译过来就是请求属性的意思,那么有童鞋就要说了,该注解的作用到底是什么呢?这里我也不卖关子了,直接告诉大家吧,该注解是用于获取request域中所保存的属性的值的。 遥想当年,为了在页面转发的时候能够取出当前请求中的数据,我们是不是一般都会在request域中设置一些属性啊!现在,我就要通过页面跳转的测试来为大家演示一下@RequestAttribute注解的用法了。 不过有一点需要大家注意的是,由于我们

李阿昀的博客 4199

@RequestHeader 和 @RequestAttribute 使用场景和区别

下面讲讲这两个注解的使用场景。使用场景:   Spring MVC提供了 @RequestHeader注解,其作用是将请求头中的参数值映射到控制器的参数中。常用属性如下:name:@RequestHeader(“host”)。 required:。 defaultParameter:使用场景: 注意:属性和参数是不同的。很多小伙伴可能对 参数(parameter)和属性(Attribute)的区别不是很了解。简单一句话,参数是需要用户或者浏览器传,属性是我们拦截请求写入或者修改的。比如:httpServle

oldRose的博客 5386

TensorRT(C++)部署 Pytorch模型

众所周知,python训练pytorch模型得到.pt模型。但在实际项目应用中,特别是嵌入式端部署时,受限于语言、硬件算力等因素,往往需要优化部署,而tensorRT是最常用的一种方式。本文以yolov5的部署为例,说明模型部署在x86架构上的电脑端的流程。(部署在Arm架构的嵌入式端的流程类似)。

女神sha手的博客 5405

@PathVariable,@RequestParam,@RequestBody类型使用

POST,GET请求之content-type约定 前言 作为一个Java工程师,免不了和前端对接,或者自己使用http请求,那么在交互的过程中,参数传的content-type类型如何定义,后端该如何接收解析,以前一直是似懂非懂的在使用,最近在交互的过程中遇到很一些无法解析的问题,在此记录一下。 后端接口中注解的使用比较 后端主要使用注解: @PathVariable,@RequestParam,@RequestBody 三种注解的比较 @RequestBody主要用来接收前端传递给后端的json字符

w21020的博客 973

华为AC外置Portal认证方案配置步骤指南

华为AC外置Portal认证方案配置步骤指南

m0_46129105的博客 7675

闲鱼虚拟商品自动发货神器XianYuAutoDeliveryX:从配置到对接大模型的完整指南

本文提供了一份关于闲鱼虚拟商品自动发货神器XianYuAutoDeliveryX的完整配置与实战指南。详细介绍了从环境搭建、账号安全配置到核心自动化流程的设置,并重点讲解了如何对接大语言模型API,实现智能对话回复,从而构建一套无人值守的闲鱼店铺自动化运营系统。

gray5的博客 1372

比较getAttribute()、getParameter()和getInitParameter()

下列方法的区别  ServletRequest |--getAttribute():返回String。返回这个请求的身份验证模式(API是这样写)。可以得到由setAttribute()设置的参数值。 |--getParameter(String name):返回String,指定name的值。一般是客户端提交表单的信息中 ServletConfig |--getInitParame

贰度 2738

网格质量评价

CFD中评价网格质量的方法

B_etter_Man的博客 1万+

getParameter和getAttribute比较

getParametergetAttribute取得的类型String Object    取得的地方表单、requestsession是否可设定不可自己设定,实际上就是表单里面的数据用setAttribute进行设定重定向使用用于客户端重定向时即点击了链接或提交按扭时传值用即用于在用表单或url重定向

312

多尺度仿真软件:Copasi_(1).Copasi概述

Copasi(Complex Pathway Simulator)是一款开源的多尺度仿真软件,专为生物化学、系统生物学和合成生物学领域的研究人员设计。它不仅能够模拟细胞内和细胞间的生化反应网络,还能处理代谢途径、信号传导途径和基因调控网络等多种复杂系统。Copasi提供了用户友好的图形界面和强大的命令行接口,支持多种仿真算法和分析工具,使用户能够高效地进行模型构建、仿真和分析。Copasi允许用户创建自定义报告,以便生成特定格式的仿真结果。用户可以通过图形界面或命令行创建自定义报告。

kkchenjj的博客 857

医疗AI多智能体资源调度:用Python构建高性能MCU资源池

本文介绍了医疗AI服务平台中多智能体资源争用问题的解决方案。作者设计了一个基于MCU(多点控制单元)理念的中央资源调度器,通过三层架构(资源抽象层、调度策略层、执行控制层)实现对GPU、API、数据库等医疗资源的统一管理。系统采用增强版信号量机制处理可计数并发资源,优化令牌桶算法管理速率资源,并支持急诊优先、配额限制、审计合规等医疗场景特殊需求。核心代码提供了带优先级抢占的并发控制和医疗专用令牌桶实现,可有效解决多智能体资源争用导致的优先级混乱、资源利用不均等问题。

AllenLV的博客 3219

request.getParameter()和request.getAttribute()比较

getParameter与getAttribute相同点 都是HttpServletRequest类中的方法 都是用来传递数据用的 getParameter与getAttribute不同点 getParameter(): 1.1. 响应的是两个web组件之间为==链接(重定向)==关系时,类似get,post等方式传入的数据。 1.2. 此种方法从Web客户端传到Web服务器端,代表HTTP请求数据。 1.3. 返回String类型的数据。 1.4. 只有get方法没有set方法。 getAtt

thisIsDennis的博客 1180

终于找到了!Ubuntu 虚拟机卡死的终极解决方案(如何解决VMware安装Ubuntu24.04桌面进不去、黑屏、虚拟机卡死、显示不全、屏幕闪烁等问题)

终于找到了!Ubuntu 虚拟机卡死的终极解决方案(如何解决VMware安装Ubuntu24.04桌面进不去、黑屏、虚拟机卡死、显示不全、屏幕闪烁等问题)

XiaoqiangClub的博客 1万+

request.getParameter()与request.getSession().getAttribute类型比较

以下内容作为个人学习记录,如果给原作者造成不便,请私信,会立即删除。 区别: getParameter是获取表单提交的数据,或者post和get拼接提交的。获得的类型是String类型的。 request.getSession().getAttribute是获取session中的数据,和session.setAttribute搭配使用。获取的是Object类型。 举例: 比如验证码,生成的存在session中,输入表单提交的通过getParameter获取,然后二者再进行比较。或者其他数据的比较: ..

gyl1050097468的博客 4999

【深度学习|学习笔记】广义线性模型Generalized linear model(GLM)模型详解,附代码。

【深度学习|学习笔记】广义线性模型Generalized linear model(GLM)模型详解,附代码。

2401_89898861的博客 1876

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

java中request的getParameter方法和getAttribute方法的用法区别比较

java中request的getParameter方法和getAttribute方法的用法区别比较1.request的getparameter方法的作用是获取到客户端通过表单或url请求参数所发送过来的参数值,是客户端与服务器端之间的交互,服务器端想获取到客户端发送过来的数据,就需要使用getparameter方法来获取,没有与getparameter方法对应的setparameter方法。2.re

weixin_40051984的博客 3686

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

get与post, getParameter()与getAttribute()比较

get与post: 用在form中,用于表明用于处理该请求的服务端方法使用的形式.这个信息将在请求的头部信息中标明. 服务端根据请求的响应头中标明的get/post信息,决定由哪个方法来处理. 这两个方法在客户端表现不同的地方在于.如果是post形式,在请求的地址中不会附加请求的信息.而get则会.会将请求的信息以地址的形式呈现出来.安全性不高.   getParameter():这个方法用于取得...

每一步 351

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

request.getParameter()与session.getAttribute()类型比较

作为一个Java EE初学者,在给网站添加验证码时,遇到了一个问题,经过几番尝试发现了其中的缘由。 1、问题的提出        编程中验证码类产生的随机数我将其事先存在Session中,接下来在另一个页面中按照验证码图片提示输入验证码中的数字、字母组合。这样以来在登录检验的时候,request.getParameter()与session.getAttribute()中的内容就要做比较。

sunzhenhua0608的专栏 5461

request.getParameter和request.getAttribute的比较(附:问题一个)

HttpServletRequest类既有getAttribute()方法,也由getParameter()方法,这两个方法有以下区别:(1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,(3)当两个Web组件之间为转发关系时

笑看人参----JAVA,WEB2.0,SOA... 3011

request.getParameter() 和request.getAttribute() 区别

一、request.getParameter() 和request.getAttribute() 区别 (1)request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据,request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。 (2)request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter

weixin_44250725的博客 1743

Request的getParameter和getAttribute方法的区别

当两个Web组件之间为转发关系时,转发源会将要共享 request范围内的数据先用setAttribute将数据放入到HttpServletRequest对象中,然后转发目标通过 getAttribute方法来取得要共享的数据。 ---------------------------------------------------------------------- 下面整理一下g...

weixin_30258027的博客 63

了解JSP中request属性的用法(request.getParameter() 和request.getAttribute() 区别)

http://developer.51cto.com/art/200906/132743.htm 本文介绍JSP中request属性的用法,以及request.getParameter() 和request.getAttribute() 区别。 一、request.getParameter() 和request.getAttribute() 区别 1.reques

crazy_fire 4219

java基础概念:request属性

request属性 request.getAttribute()

GooO_O的博客 1345

java web application对象_JAVA WEB:application与session对象使用范例与差异深度分析

1.本文分析一下request对象中getParameter方法及getAttribute的差异及使用场景。这个关系到servlet的生命周期很简单的一个例子,上代码页面1 :request1.jsp1 2 3 Stringpath=request.getContextPath();4 StringbasePath=request.getScheme()+"://"+request.getServ...

weixin_30015509的博客 278
上一篇: setAttribute使用方法 javascript
下一篇: unistd.h有什么用
dkbrain
博客等级 码龄18年 7粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值