`
huobengluantiao8
  • 浏览: 1061369 次
文章分类
社区版块
存档分类
最新评论

request.getAttribute 与 request.getParameter 的区别

 
阅读更多
HttpServletRequest类既有getAttribute()方法,也由getParameter()方法,这两个方法有以下区别:

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

(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,例如假定welcome.jsp和authenticate.jsp之间为链接关系,welcome.jsp中有以下代码:

<a href="authenticate.jsp?username=weiqin">authenticate.jsp </a>

或者:

<form name="form1" method="post" action="authenticate.jsp">
请输入用户姓名:<input type="text" name="username">
<input type="submit" name="Submit" value="提交">
</form>

在authenticate.jsp中通过request.getParameter("username")方法来获得请求参数username:

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

(3)当两个Web组件之间为转发关系时,转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据。假定authenticate.jsp和hello.jsp之间为转发关系。authenticate.jsp希望向hello.jsp传递当前的用户名字,如何传递这一数据呢?先在authenticate.jsp中调用setAttribute()方法:

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

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

在hello.jsp中通过getAttribute()方法获得用户名字:

<% String username=(String)request.getAttribute("username"); %>
Hello: <%=username %>


从更深的层次考虑,request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。

request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。这两个方法能够设置Object类型的共享数据。

request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。






一般是string型用request.getParameter
对象的引用用request.getAttribute
当然啦,String也是对象
分享到:
评论

相关推荐

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

    在探讨`request.getParameter()`与`request.getAttribute()`的区别之前,我们首先需要理解这两个方法的基本概念以及它们在Java Web开发中的作用。 ### `request.getParameter()` `request.getParameter()`是...

    了解JSP中request属性的用法

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

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

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

    session.getAttribute

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

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

    在Web开发中,获取客户端传递给服务器的数据是一种常见需求,通常使用`request.getParameter()`方法从`HttpServletRequest`对象中获取表单数据或者URL参数。然而,在实际应用中,开发者有时会遇到`request....

    Jsp的request的用法

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

    getAttribute和getParameter区别

    ### getAttribute与getParameter的区别 在Java Web开发中,`getAttribute`和`getParameter`是两个非常重要的方法,它们分别用于获取不同的数据。理解这两个方法的区别对于正确处理用户请求和页面间的数据传递至关...

    数据库测试test.sql

    // String methodName = request.getParameter("method"); // // //根据method属性的值调用相应的方法 // if("login".equals(methodName)){ // this.login(request,response); // }else if("register".equals(method...

    getAttribute和getParameter区别.

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

    基于servlet的购物车

    int bookid =Integer.parseInt(request.getParameter("id")); Map, Book&gt; books = (Map, Book&gt;)request.getSession().getServletContext().getAttribute("books"); Book book = books.get(bookid); System....

    很经典的登录回选。

    String url = request.getParameter("url"); URLEncoder.encode(URLDecoder.decode(url,"iso-8859-1"), "iso-8859-1"); session.setAttribute("redirectUrl",url); } else{ session.setAttribute(...

    HTTP:getAttribute和getParameter的区别

    ### HTTP:getAttribute与getParameter的区别详解 #### 一、概述 在Web开发中,尤其是在Java Web领域,`HttpServletRequest` 类提供了多种方法来处理HTTP请求。其中,`getAttribute()` 和 `getParameter()` 是两个...

    基于JSP的论坛源码

    int uId=Integer.parseInt(request.getParameter("uId")); int boardId=Integer.parseInt(request.getParameter("boardId")); int topicId=Integer.parseInt(request.getParameter("topicId")); int replyId=...

    jsp页面中获取servlet请求中的参数的办法详解

    接着,我们使用`request.getParameter("id")`来获取URL参数`id`的值,并将其存储在请求作用域的属性中,便于后续JSP页面使用: ```java public class BBSServlet extends HttpServlet { private static final long...

    sevlet生命周期,request web.xml 及ServletContext总结

    使用`request.getParameter("name")`获取单个参数值,对于有多值的参数,如`name[]`,可以使用`request.getParameterValues("name")`获取数组。 - **Cookie**: 通过`request.getCookies()`获取请求携带的所有...

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

    通过这种方式和一般的表单参数一样的,也可以通过request.getParameter(name)取得参数。 3. 设置session和request实现参数传递 可以通过显示的把参数放置到session和request中,以达到传递参数的目的: session....

    JSP2_0技术学习笔记

    - `request.getParameter()`:获取单个参数的值。 - `request.getParameterNames()`:获取所有参数名。 - `request.getParameterValues()`:获取同一参数名的所有值。 - `request.getParameterMap()`:获取所有参数...

    request域对象的实例代码

    例如,如果请求URL中包含`name=John&age=30`,可以使用`request.getParameter("name")`和`request.getParameter("age")`来获取这些值。 2. **获取请求头信息**:使用`getHeader()`或`getHeaders()`方法可以获取请求...

    Jsp与Servlet之间的传值(已验证)

    本文将详细讲解如何通过`request`和`response`对象实现在JSP与Servlet之间的传值。 首先,我们来看JSP传值给Servlet的方式: 1. **Form表单传值**:这是最常见的方法,用户在JSP页面填写表单后提交,表单数据通过...

    javaee 标签库

    ${requestScope.name} = request.getAttribute("name"); 10. sessionScope:把 session 范围中的 name(属性名)和 value(属性值)进行映射: * session.setAttribute("name","jack"); ${sessionScope.name} = ...

Global site tag (gtag.js) - Google Analytics