java中的getAttribute和getParameter

java中的getAttribute和getParameterjava中的getAttribute和getParameter

大家好,又见面了,我是你们的朋友全栈君。

    在学drp项目的时候,经常用到getAttribute()这个方法,于是又联想到了之前在ssh中用到的getParameter(),他们之间有什么区别呢? 

1.获取的值不同

    getAttribute表示从request范围取得设置的属性,必须要通过setAttribute设置属性,才能通过getAttribute取得。设置和取得的值都是Object类型。

    getParameter表示接收页面提交的 参数,主要有表单提交的参数、URL重写传递的参数(http://item.jsp?id=1中的id值)等,所以不需要通过setParameter来设置参数,而且参数的返回类型是String类型。

2.数据传递路径不同

    request.getParameter()方法传递的数据是从web客户端到web服务端,代表http的请求数据,用于表单或URL重定向时使用。

举例:

    比如两个web页面之间的转换,准确的说是两个web页面时链接关系时,从login.jsp链接到menu.jsp时,menu.jsp就可以通过getParameter()方法来获得请求参数。

login.jsp:

<%  
String username=request.getParameter("username");  
request.setAttribute("username",username);  
%>  
  
<jsp:forward page="menu.jsp" />  

<form name="form1" method="post" action="menu.jsp">  
请输入用户姓名:<input type="text" name="username">  
<input type="submit" name="Submit" value="提交">  
</form>  

menu.jsp中则可通过request.getParameter(“username”)方法来获得请求的参数username:

< % String username=request.getParameter("username"); %>  

    request.getAttribute()传递的数据只存在于web容器内部,在request范围内也就是转发时web组件之间的共享。

举例:

login.jsp想要向menu.jsp传递当前的用户名,首先要在login.jsp中调用setAttribute()方法:

<%  
String username=request.getParameter("username");  
request.setAttribute("username",username);  
%>  
  
<jsp:forward page="menu.jsp" />  

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

<% String username=(String)request.getAttribute("username"); %> 


总结

    最初一点都不理解这些东西,通过写下来梳理了自己的思路,所以要多总结,才会变成自己的东西。 



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/105701.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 二级公共基础知识总结笔记[通俗易懂]

    二级公共基础知识总结笔记[通俗易懂]二级公共基础知识总结下个学期就要开始我的计算机双学位就读了。在此之前,我打算先考几个证来过渡一下,像二级的C、C++、VB、Java、Python、Office都考一下。其中我比较熟悉的只有C和Python,其他的编程语言就要自己突击一下了。3月我报的是C、C++和VB。为此还买了几本书。这里总结一下考点,做一下笔记。之后书就不重要了,可以丢了。再刷一些题目,做一些记录就可以了。开始笔记吧。…

  • Java中重载与重写的特点和区别[通俗易懂]

    Java中重载与重写的特点和区别[通俗易懂]一、重载(overload)重载:发生在Java的同一个类里面,通过定义相同的方法,定义不同的参数列表来区分开这些相同的方法,参数列表的不同可以是参数的类型、参数的个数和参数的顺序。当我们调用这些方法的时候通过传入参数的不同,在运行时Java虚拟机会自行调用不同的方法来进行处理。由于Java的修饰符都可以访问同一个类里面的方法,所以方法的重载与方法的修饰符无关;Java的返回值不能区别这些方法,因为返回值是在运行后才体现出来的,而两个参数列表相同仅仅是返回值相同的方法在Java编译时就会报错,虚拟机在运行

  • 中国移动套餐价格表_Cdma2000

    中国移动套餐价格表_Cdma2000来源:知乎链接:https://www.zhihu.com/question/20388677/answer/14986172中国移动:GSM、TD-SCDMA中国联通:GSM、WCDMA中国电信:CDMA、CDMA2000GSM:也就是我们常说的2G模式,属于第2代蜂窝移动通信技术,其使用频率在800MHz~1800MHz左右。因为2G时代的中国移动和中国

  • 获取系统当前时间,绑定展示数据

    获取系统当前时间,绑定展示数据

  • 一张色环图教你搞定配色![通俗易懂]

    一张色环图教你搞定配色![通俗易懂]一张色环图教你搞定配色!不管是在平面设计或网页制作中,还是在平常生活中的衣服穿搭和室内装潢中,要想打造出非凡的视觉效果,合理的颜色搭配非常重要。下面介绍几种色彩搭配方案供您参考,让你轻易地一靶中的

  • navicat15激活碼3月最新在线激活

    navicat15激活碼3月最新在线激活,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号