getAttribute和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>
html 代码
或者:
- <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"); %>
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的区别相关推荐
- 【图示,简单明了】HttpServlet中getAttribute和getParameter的区别——【javaweb系列学习笔记】
在写教材项目时,发现好多好多函数我都不认得, 既然不认得,机械的打上去又有什么用呢? getAttribute和getParameter就是一例, 在网上陆陆续续的看了很多讲解, 以下是我的个人总结: ...
- HttpServletRequest中getAttribute()和getParameter()的区别
一.数据据来源不同 HttpServletRequest类有setAttribute()方法,而 没有setParameter()方法 get/setParameter是在对你的页面中的表单元素进行操 ...
- getparameter java_java中getAttribute和getParameter的区别
getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型 getParame ...
- getAttribute与getParameter的区别
1.getParameter得到的是字符串,其取值源于jsp页面,从jsp页面中接受一个存在的参数,多用于servlet中,用于判断业务的类型和跳转页面.如: request.getParameter ...
- getAttribute与getParameter区别
当两个Web组件之间为转发关系时,转发源会将要共享 request范围内的数据先用setAttribute将数据放入到HttpServletRequest对象中,然后转发目标通过 getAttribu ...
- 【JSP/Servlet】getParameter和getAttribute的使用、区别
总结:request.cookie.session.context的区别 这四个对象有不同级别的作用域和生命周期. (1)request:解决了一次请求内的数据共享问题(作用域:一次请求) req.s ...
- getparameter java_java中getAttribute与getParameter方法的区别
知识点1:getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为object对象类型 例:re ...
- request.setAttribute()与getParameter() 的区别
request.setAttribute()与getParameter() request.getParameter(),request.setAttribute()区别如下: (1)reques ...
- setAttribute、getAttribute 和 getParameter
一.setAttribute setAttribute这个方法的作用就是保存数据,然后还可以用getAttribute方法来取出,在JSP内置对象session和request中都有这个方法. set ...
最新文章
- 循环神经网络(RNN)简介
- 第十六 django进一步了解
- 准确率不变 损失率下降_最新斯诺克排名奥沙利文排在第二,丁俊晖排第十,第一保持不变...
- 熟悉的亲切-老外婆教做的豌豆蔬菜汤
- 探索startActivity流程及在Activity间是如何传递Intent的
- ExpandableListView用法的一个简单小例子
- mybatis 执行插入操作,insert 返回1,数据库中无数据。数据库中数据的创建时间和插入执行时间不一致。
- java购物车后台_JavaWeb后台购物车类实现代码详解
- Python基础语法和数据类型最全总结
- 60-400-240-使用-binlog-Canal使用文档md
- php yaf框架 校验登录,yaf框架是get或post请求的判断
- lightgbm过去版本安装包_谨慎更新华为EMUI10.1版本
- 银行软件的转账测试,网上银行测试转的钱怎么记会计分录?
- PPPoE技术白皮书
- 计算机语言排行之我见
- IP地址 A\B\C类
- yang模型中rpc_RPC原理篇
- 简单实现微信抢红包的功能(Java)
- 字节编程题 雀魂启动
- SSH常见问题及其解决方法
热门文章
- MetInfo 5.1 自动化getshell工具
- Cannot connect to the Docker daemon. Is 'docker daemon' running on this host?
- 重装操作系统时遇到的一些问题的解决方法总结
- Python+Selenium学习--异常截图
- 关于腾讯云服务器不能用公网ip访问的解决方案
- 12.解决SUSE Linux无法使用SSH登录的问题
- 解决“(1146, “Table ‘mydb.django_session‘ doesn‘t exist“)”报错的方法
- ABP源码分析四十七:ABP中的异常处理
- Pycharm 加载pygame解决方案
- 【选手分享】你想知道的比赛思路这里都有!速查收!