getAttribute与getParameter区别
当两个Web组件之间为转发关系时,转发源会将要共享 request范围内的数据先用setAttribute将数据放入到HttpServletRequest对象中,然后转发目标通过 getAttribute方法来取得要共享的数据。而MVC中用的就是Web组件之间的转发啊!
下面整理一下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提交过来的数据。
转载于:https://blog.51cto.com/12575213/1287889
getAttribute与getParameter区别相关推荐
- 【图示,简单明了】HttpServlet中getAttribute和getParameter的区别——【javaweb系列学习笔记】
在写教材项目时,发现好多好多函数我都不认得, 既然不认得,机械的打上去又有什么用呢? getAttribute和getParameter就是一例, 在网上陆陆续续的看了很多讲解, 以下是我的个人总结: ...
- request.getParameter和request.getAttribute之间的区别
HttpServletRequest类既有getAttribute()方法,也由getParameter()方法,这两个方法有以下区别: (1)HttpServletRequest类有setAttri ...
- HttpServletRequest中getAttribute()和getParameter()的区别
一.数据据来源不同 HttpServletRequest类有setAttribute()方法,而 没有setParameter()方法 get/setParameter是在对你的页面中的表单元素进行操 ...
- getAttribute和getParameter的区别
HttpServletRequest类既有getAttribute()方法,也由getParameter()方法,这两个方法有以下区别: (1)HttpServletRequest类有setAttri ...
- getparameter java_java中getAttribute和getParameter的区别
getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型 getParame ...
- getparameter java_java中getAttribute与getParameter方法的区别
知识点1:getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为object对象类型 例:re ...
- getAttribute与getParameter的区别
1.getParameter得到的是字符串,其取值源于jsp页面,从jsp页面中接受一个存在的参数,多用于servlet中,用于判断业务的类型和跳转页面.如: request.getParameter ...
- request.getAttribute()和request.getParameter()区别
request.getParameter()是用来接受来自get方法或post方法的参数,只能接受java.lang.String <form method=post> <form ...
- getParameter与getAttribute两者的区别
request.setAttribute("xiaoxi", "欢迎用户"+name);//向request域中放置信息 ( 键值对的形式) 名字为xiaoxi ...
最新文章
- OpenCV图像旋转的原理与技巧
- 前端学习(2160):vuecli项目初始化过程
- 数据库支持的数据类型
- rabbitmq的通配符模式(Topic Exchange)的*和#区别
- 《Python自然语言处理》第二章 习题解答 练习6
- 反应特别慢_孩子反应总是很迟钝?家长多注意一点孩子的兴趣培养
- Unix网络编程---第一次作业
- jvm 的内存分配方式
- 190129每日一句
- HTML+CSS+JavaScript实现打字小游戏
- 笔趣阁 单篇小说采集
- 网站扫码登录时怎么一回事?
- 5304—K3 Cloud 自定义webAPI
- 构建人人网社会化推荐引擎
- 联想服务器光驱安装win7系统,联想光盘安装win7系统教程
- 阿里首席架构师讲解“双十一”亿级流量高并发的系统架构搭建方法
- 基于网络安全的Docker逃逸
- 【记录】win11安装ubuntu子系统教程
- Vue3大菠萝pinia笔记
- 桂林电子科技大学计算机学院老师,李凤英_桂林电子科技大学研究生导师信息...
热门文章
- Maven 之常用命令
- TP5 实现基于标签简单的推荐算法
- Windows核心编程 第2 5章 未处理异常和C ++异常(上)
- 汇编环境搭建(vs2010(2012)+masm32)
- hdu4122 制作月饼完成订单的最小花费
- Android-去除Button默认边框
- 【数字信号处理】相关函数 ( 功率信号 | 功率信号的互相关函数 | 功率信号的自相关函数 )
- 【错误记录】Flutter 插件不兼容 ( requires Flutter SDK version >=1.22.0 <2.0.0, url_launcher >=5.7.7 <6.0.0- )
- 关闭子页面刷新父页面,不需要弹出确认窗口
- 雷林鹏分享:Ruby XML, XSLT 和 XPath 教程