getparameter和getattribution的区别的 java详细

本文深入探讨了在Web开发中,如何使用HttpServletRequest类的setAttribute()和getAttribute()方法在不同组件间传递参数及数据共享,以及如何在链接与转发关系下获取HTTP请求参数与实现数据在request范围内的传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)HttpServletRequest 类有 setAttribute()方法,而没有 setParameter()方法
  (2)当两个 Web 组件之间为链接关系时,被链接的组件通过 getParameter()方法来 获得请求参数,例如假定 welcome.jsp 和 authenticate.jsp 之间为链接关系,
  welcome.jsp 中有以下代码: <a href="authenticate.jsp?username=wolf">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.getParameter()取得是通过容器的实现来取得通过类似 post,get 等方式 传入的数据。 request.setAttribute()和 getAttribute()只是在 web 容器内部流转, 仅仅是请求 处理阶段。
  getAttribute 是返回对象,getParameter 返回字符串 总的来说:request.getAttribute()方法返回 request 范围内存在的对象,
  而 request.getParameter()方法是获取 http 提交过来的数据。 request.getParameter()获取的是 HTTP 提交过来的数据。

  request.getAttribute()方法返 回的是 request 范围内存在的对象


转自:http://zhidao.baidu.com/link?url=igALnaT38DnLGR2txH5cDKLOKRdeH-PJNbD7lTuqRWsstf73AKAD51rHC0PpcPJwN45n94BBFL0Dc6i2WwEe4vTbTWY8WDt38fUSWAUTkjG

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值