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

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

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

  1. <a href="authenticate.jsp username=weiqin">authenticate.jsp a>

html 代码

或者:

  1. <form name="form1" method="post" action="authenticate.jsp">
  2. 请输入用户姓名:<input type="text" name="username"><input type="submit" name="Submit" value="提交">form>
  3. 在authenticate.jsp中通过request.getParameter("username")方法来获得请求参数username:<% String username=request.getParameter("username"); %>

html 代码

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

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

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

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

getParameter得到的都是String类型的。或者是http://a.jsp id=123中的123,或者是某个表单提交过去的数据。
getAttribute则可以是对象。
getParameter()是获取POST/GET传递的参数值;
getAttribute()是获取对象容器中的数据值;
getParameter:用于客户端重定向时,即点击了链接或提交按扭时传值用,即用于在用表单或url重定向传值时接收数据用。
getAttribute:用于服务器端重定向时,即在sevlet中使用了forward函数,或struts中使用了mapping.findForward。getAttribute只能收到程序用setAttribute传过来的值。
另外,可以用setAttribute,getAttribute发送接收对象.而getParameter显然只能传字符串。
setAttribute是应用服务器把这个对象放在该页面所对应的一块内存中去,当你的页面服务器重定向到另一个页面时,应用服务器会把这块内存拷贝另 一个页面所对应的内存中。这样getAttribute就能取得你所设下的值,当然这种方法可以传对象。session也一样,只是对象在内存中的生命周 期不一样而已。
getParameter只是应用服务器在分析你送上来的request页面的文本时,取得你设在表单或url重定向时的值。

getAttribute和getParameter的区别相关推荐

  1. 【图示,简单明了】HttpServlet中getAttribute和getParameter的区别——【javaweb系列学习笔记】

    在写教材项目时,发现好多好多函数我都不认得, 既然不认得,机械的打上去又有什么用呢? getAttribute和getParameter就是一例, 在网上陆陆续续的看了很多讲解, 以下是我的个人总结: ...

  2. HttpServletRequest中getAttribute()和getParameter()的区别

    一.数据据来源不同 HttpServletRequest类有setAttribute()方法,而 没有setParameter()方法 get/setParameter是在对你的页面中的表单元素进行操 ...

  3. getparameter java_java中getAttribute和getParameter的区别

    getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型 getParame ...

  4. getAttribute与getParameter的区别

    1.getParameter得到的是字符串,其取值源于jsp页面,从jsp页面中接受一个存在的参数,多用于servlet中,用于判断业务的类型和跳转页面.如: request.getParameter ...

  5. getAttribute与getParameter区别

    当两个Web组件之间为转发关系时,转发源会将要共享 request范围内的数据先用setAttribute将数据放入到HttpServletRequest对象中,然后转发目标通过 getAttribu ...

  6. 【JSP/Servlet】getParameter和getAttribute的使用、区别

    总结:request.cookie.session.context的区别 这四个对象有不同级别的作用域和生命周期. (1)request:解决了一次请求内的数据共享问题(作用域:一次请求) req.s ...

  7. getparameter java_java中getAttribute与getParameter方法的区别

    知识点1:getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为object对象类型 例:re ...

  8. request.setAttribute()与getParameter() 的区别

    request.setAttribute()与getParameter()   request.getParameter(),request.setAttribute()区别如下: (1)reques ...

  9. setAttribute、getAttribute 和 getParameter

    一.setAttribute setAttribute这个方法的作用就是保存数据,然后还可以用getAttribute方法来取出,在JSP内置对象session和request中都有这个方法. set ...

最新文章

  1. 循环神经网络(RNN)简介
  2. 第十六 django进一步了解
  3. 准确率不变 损失率下降_最新斯诺克排名奥沙利文排在第二,丁俊晖排第十,第一保持不变...
  4. 熟悉的亲切-老外婆教做的豌豆蔬菜汤
  5. 探索startActivity流程及在Activity间是如何传递Intent的
  6. ExpandableListView用法的一个简单小例子
  7. mybatis 执行插入操作,insert 返回1,数据库中无数据。数据库中数据的创建时间和插入执行时间不一致。
  8. java购物车后台_JavaWeb后台购物车类实现代码详解
  9. Python基础语法和数据类型最全总结
  10. 60-400-240-使用-binlog-Canal使用文档md
  11. php yaf框架 校验登录,yaf框架是get或post请求的判断
  12. lightgbm过去版本安装包_谨慎更新华为EMUI10.1版本
  13. 银行软件的转账测试,网上银行测试转的钱怎么记会计分录?
  14. PPPoE技术白皮书
  15. 计算机语言排行之我见
  16. IP地址 A\B\C类
  17. yang模型中rpc_RPC原理篇
  18. 简单实现微信抢红包的功能(Java)
  19. 字节编程题 雀魂启动
  20. SSH常见问题及其解决方法

热门文章

  1. MetInfo 5.1 自动化getshell工具
  2. Cannot connect to the Docker daemon. Is 'docker daemon' running on this host?
  3. 重装操作系统时遇到的一些问题的解决方法总结
  4. Python+Selenium学习--异常截图
  5. 关于腾讯云服务器不能用公网ip访问的解决方案
  6. 12.解决SUSE Linux无法使用SSH登录的问题
  7. 解决“(1146, “Table ‘mydb.django_session‘ doesn‘t exist“)”报错的方法
  8. ABP源码分析四十七:ABP中的异常处理
  9. Pycharm 加载pygame解决方案
  10. 【选手分享】你想知道的比赛思路这里都有!速查收!