`
hyz301
  • 浏览: 374021 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

getAttribute 和 getParameter 的区别

 
阅读更多

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.csdn.net/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() 

分享到:
评论

相关推荐

    getAttribute和getParameter区别

    ### getAttribute与getParameter的区别 在Java Web开发中,`...通过以上分析可以看出,`getAttribute` 和 `getParameter` 在Java Web开发中扮演着不同的角色,理解它们的区别对于编写高效、健壮的应用程序至关重要。

    getAttribute和getParameter区别.

    ### getAttribute 和 getParameter 区别详解 #### 一、概述 在Web开发中,`getAttribute` 和 `getParameter` 是两个非常重要的方法,主要用于获取不同的数据类型和来源。这两个方法虽然相似,但在实际应用场景中...

    HTTP:getAttribute和getParameter的区别

    其中,`getAttribute()` 和 `getParameter()` 是两个非常重要的方法,它们分别用于处理不同的数据类型和场景。本文将详细探讨这两个方法之间的区别,并结合实例进行讲解。 #### 二、`getParameter()` 方法详解 `...

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

    通过上述分析,我们可以清楚地看到`request.getParameter()`与`request.getAttribute()`在功能、用途及使用场景上的区别,这将有助于开发者在实际项目中更加合理地选择和应用这些方法,提高代码的效率和可维护性。

    基于request.getAttribute与request.getParameter的区别详解

    总的来说,`getAttribute()`和`getParameter()`都是处理客户端请求数据的重要工具,但它们的使用场合和数据类型处理上有所区别。理解这些差异对于编写高效且健壮的Web应用程序至关重要。在开发过程中,根据具体需求...

    session.getAttribute

    ### `request.getParameter()` 和 `session.getAttribute()` 的区别 #### 1. **作用范围** - **`request.getParameter()`**:此方法用于从当前 HTTP 请求中获取参数的值。这些参数通常来源于 HTML 表单或 URL 查询...

    了解JSP中request属性的用法

    request.getParameter() 和 request.getAttribute() 是两个最常用的方法来获取客户端的请求信息,但是它们的用法和作用域却有很大的区别。 request.getParameter() 方法是用来获取客户端通过 HTTP 协议传递的参数,...

    request.getParameter()取值为null的解决方法

    根据上述文件信息,造成`request.getParameter()`取值为null的原因是页面元素的id属性和name属性设置不一致。 在HTML中,一个表单元素可以同时拥有id和name属性。id属性用于在同一个页面内唯一标识该元素,便于...

    jsp基础精华详解

    通过`setAttribute`和`getAttribute`方法可以在`ServletContext`中存储和检索数据,实现数据共享的功能。 #### 总结 以上介绍了JSP中的四种会话跟踪方式及其基本使用方法,同时还提到了内部跳转与外部跳转的区别...

    Jsp的request的用法

    在本篇文章中,我们将深入探讨`request.getParameter()`和`request.setAttribute()`以及`request.getAttribute()`的区别,并提供相关示例来帮助理解它们的用法。 **一、request.getParameter() 和 request....

    SSH原理,strusts,hebernate,Spring等相关知识

    **getAttribute 和 getParameter** 都是Servlet API中的方法,用于从请求中获取数据。getAttribute() 用于获取存储在HttpServletRequest对象中的属性值,这些属性可以在请求处理过程中被多次使用,跨多个方法传递。...

    request请求获取参数的实现方法(post和get两种方式)

    这里的`xxx`和`yyy`就是GET请求的参数名,`王大炮`和`123456`是对应的参数值。在Servlet端,我们可以使用`HttpServletRequest`的`getParameter()`方法来获取这些参数: ```java protected void doGet...

    attribute的作用和具体使用方法

    - 与`setAttribute()`和`getAttribute()`不同的是,`getParameter()`只能获取当前请求中的URL参数,不能用于存储和传递其他类型的对象。 #### 四、总结 Attribute在Java Web开发中扮演着极其重要的角色,它不仅...

    实验2 Form表单和内置对象(一)1

    - **getParameter()与getAttribute()的区别**:`getParameter()`用于获取请求参数,适用于表单数据的获取,而`getAttribute()`则是用来在请求范围内共享对象或数据。 这个实验旨在通过实践操作,让学生深入理解和...

    #和$的区别

    - **代码简洁性**: OGNL表达式的使用避免了大量的`request.getAttribute()`和`myBean.getMyProperty()`之类的语句,使得代码更加简洁易懂。 - **支持运算符**: OGNL支持各种运算符,如加减乘除等,使得表达式具有更...

    JSP内置对象 session application的应用

    JSP内置对象session和application的应用 JSP(Java Server Pages)是一种服务器端脚本语言,用于生成动态网页。JSP内置对象是JSP提供的一些预定义对象,通过这些对象,可以访问和操作服务器端的资源。其中,session...

    JSP几种页面间传递参数实现的方法

    利用它的两个方法setAttribute()和getAttribute(),可以实现参数的传递。 例如,下面的实例实现了把第一个JSP页面的参数传递给第三个页面的功能: 1.jsp whats your name 2.jsp String name=...

    java面试题目.docx

    包括字符串对象的创建、StringBuffer与StringBuilder的区别、Error与Exception的差异、Java序列化、JVM加载Class文件的机制、ServletAPI中的forward()与redirect()的区别,以及HttpServletRequest中getAttribute()与...

    学生信息管理系统

    String action request getParameter &quot;action&quot; ; Teacher t new Teacher ; t setUsername request getParameter &quot;username&quot; ; if &quot;register&quot; equals action { t set...

    基于servlet的购物车

    //得到书号和书本对象 int bookid =Integer.parseInt(request.getParameter("id")); Map, Book&gt; books = (Map, Book&gt;)request.getSession().getServletContext().getAttribute("books"); Book book = books....

Global site tag (gtag.js) - Google Analytics