getparameter和getattribution的区别的 java详细

 我来答
huanglenzhi
2015-04-26 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517174
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
  getParameter 和 getAttribute 的区别和各自的使用范围。
  (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 范围内存在的对象
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式