请选择 进入手机版 | 继续访问电脑版

[JSP编程] jsp request.getParameter() 和request.getAttribute()方法区别详解

[复制链接]
查看170 | 回复47 | 2021-9-12 02:51:15 来自手机 | 显示全部楼层 |阅读模式

getParameter 是用来担当 用post个get方法传递过来的参数的.
getAttribute 必须先setAttribute.

(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里有

Html代码

  1. <form name="form1" method="post" action="2.jsp">
  2. 请输入用户姓名:<input type="text" name="username">
  3. <input type="submit" name="Submit" value="提交">
  4. </form>
复制代码

的话在2.jsp中通过request.getParameter("username")方法来获得哀求 参数username:

Html代码

  1. < % String username=request.getParameter("username"); %>
复制代码

但是假如 两个WEB间为转发关系时,转发目的 WEB可以用getAttribute()方法来和转发源WEB共享request范围内的数据,也还是说一个例子吧。

有1.jsp和2.jsp

1.jsp渴望 向2.jsp传递当前的用户名字,怎样 传递这一数据呢?先在1.jsp中调用如下setAttribute()方法:

Html代码

  1. <%
  2. String username=request.getParameter("username");
  3. request.setAttribute("username",username);
  4. %>
  5. <jsp:forward page="2.jsp" />
复制代码

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

Html代码

  1. <% String username=(String)request.getAttribute("username"); %>
复制代码
  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

到此这篇关于jsp request.getParameter() 和request.getAttribute()方法区别详解的文章就先容 到这了,更多干系 jsp request.getParameter() 和request.getAttribute()方法区别内容请搜索 脚本之家从前 的文章或继续欣赏 下面的干系 文章渴望 大家以后多多支持脚本之家!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

avatar hdnnuz62 | 2021-9-14 15:14:40 | 显示全部楼层
信admin楼主,得永生!
回复

使用道具 举报

avatar 123457710 | 2021-9-18 04:05:03 | 显示全部楼层
admin楼主英明!
回复

使用道具 举报

avatar 康乃馨老太 | 2021-9-19 11:19:45 | 显示全部楼层
这个帖子会火的,鉴定完毕!
回复

使用道具 举报

avatar 里干整团 | 2021-9-19 15:39:51 | 显示全部楼层
admin楼主的帖子实在是写得太好了。文笔流畅,修辞得体!
回复

使用道具 举报

avatar 朱婆婆老 | 2021-9-20 12:31:04 | 显示全部楼层
太邪乎了吧?
回复

使用道具 举报

avatar 喝多的板砖剂 | 2021-9-22 06:06:37 | 显示全部楼层
一口气看完了,我要下去回味回味了!
回复

使用道具 举报

avatar 赏真阁 | 2021-9-26 23:32:01 | 显示全部楼层
好帖子!
回复

使用道具 举报

avatar 李中文1 | 2021-9-28 09:47:48 | 显示全部楼层
admin楼主好聪明啊!
回复

使用道具 举报

avatar 散粉的火把煌 | 2021-9-29 19:34:38 | 显示全部楼层
admin楼主的病历本丢我这里了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则