00:00
对于请求,我们从请求中获取到用户提交的请求参数是一个很重要的内容,所以下面我们就来学习一下请求参数的获取。那么。我们来写例子。啊,咱们这样创建个dynamic web project。14。嗯,我们叫什么呢。Request per。Meter。请求参数。我这里边需要一个表单,这个表单我就不从头写了啊,我就拷贝它了。
01:07
大家看这一个表单是不是用户名。咱们这样再写一个。年龄吧。年龄。H。我这个不叫登录了,我叫注册。Register吧。So register。你看我注册了好。我这儿需要一个。是不是直接创建的,直接创建。
02:02
叫什么耶,错了啊。控点北京。Power no.SOS。类名,Register。好。不要他。呃,Get这个呢,咱们这样。Get post我们都可以接受,那这样的话,Do get do post我们都要。删掉啊。好,格式化一下代码啊,太长了。
03:07
现在我想干嘛呢?我现在想获取到用户提交的。用户名和年龄,咱们不叫用户名了,叫。姓名。Name name和age将获取到这两个参数。那怎么获取?那我们得查一下API。看看啊。Activity里边和。请求参数相关的方法都有什么?我们看。和请求参数是什么请求参数啊,Perter,我们看看找和parameter有关系的。Get获取啊,肯定是get呀,是吧。
04:04
看看有没有get parameter?哎,我们发现是不是没有啊,这怎么回事呢。这这这确实没有啊。没关系,他没有。我们看看它的父类里边。继承来的,你看看。这继承来的。Request有没有呢?看到没有,Get parameter。Get parameter map。Getter。Get her meters。它有四个和请求参数相关的方法。那么我们逐个来看,先看get perter。里边放的什么?是不是一个字符串啊,明显一看就知道这应该放参数名。
05:02
对吧,好。Request request点儿get。Parater想获取谁呢?返回值是个字符串,我这个就叫name,还有一个什么是不是A呀。HH。只不过我们这个age呀,我们现在想想要成什么,是不是想要整形的呀,他现在是个字符串是吧,这也好说。我给他转一下就行了呗,是不是in t.value of。哎,姐,ST。H,是不是这就可以了吧?
06:04
Name。H。好,我们看一下能不能获取到。张三,年龄23。记录走。首先看这我们提交的请求中有没有这俩参数啊。有吧,Name是不是张三A是不是23呢?这边货取到了没有?
07:06
哎。没执行是吧。为什么没执行呢?这我们得看一下啊。注册肯定是注册过了呀,是吧,Register看这register。哎,为什么这儿没接收到呢。呀,这404了是吧。Register写错了。你看看这solve这写错了啊。后退。走。
08:03
啊,没刷新。刷新一下啊。这样把这清一下啊。记录走没问题吧?过来了。看这。接收到没有,是不是接收到了,这其实很简单。这就是。接收。指定名称的。请求参数。这俩就接收了啊好了,这是一个方法呢,Get parameter,我们说这有四个方法呢。再看这个吧,就是它get parameter names啊,这个也简单,这个也简单啊。
09:05
咱们。这样get paraternames。获取所有请求参数名称。不要接收了,咱们获取吧,都改成获取。获取指定名称的请求参数值。好,看它点get parameter names。我们这个就叫names。不过他返回之势是什么?
10:00
这返回这是一个I是个什么东西啊。有同学说了枚举,不错,这是枚举啊,但这是个工具类。就像我们那个。Iter一样,这个大家应该学过的啊,在Java基础里边学过的,就像it一样。那么这个工具类。就是用于便利它的这个集合的好怎么用就这样用well names点。Has more element。哎,只要你有。还有元素没有变粒怎么样,你就变粒就行了,Names点。Nata element。
11:01
获取下一个呀,是吧,这个就是个name。哎呀,和这个name重了。啊,这个这个。这样吧,咱们换个名儿。阿里。是吧?Element,就这吧。然后我就可以。request.get perter是不是name?这是获取了element value。我们就可以输出啊。输出name。
12:05
哪里?Value。好看一下。这样吧,咱这儿。给它多加上几个和这区分一下是吧,这也是一个等号,这三个等号四个等号是吧。嗯。好,重新发布了。这就关掉了啊,我们就不看它了。F5刷新走。大家看。这是前面的逐个接收的,这是不是遍历出来的。没问题吧?对不对,OK了。这,这是获取所有请求参数的名称。紧接着。
13:02
这是便利是吧,我们加点注释便利。就是枚举啊是吧。枚举。好。再看。再看啊,这儿就有一个叫parameter get parameter values,这个就有点麻烦了。它怎么get permitter values啊,什么意思啊,你看这是不是提供的也是一个name,它的返回值是一个。数组,这是怎么回事儿呢?要想知道这怎么回事,我们就需要先看这个方法,叫get perter。这又是什么呢?
14:01
哎,这个大家就要知道了啊。你要注意了,我们的请求参数。是存放在哪儿呢?也就是说当我们的请求到达服务器以后。服务器要对这个请求进行解析,那么会将请求参数给它放到哪儿解析呀?解析以后要把这些数据得存起来呀,把请求参数存到哪儿呢?它存到了一个map里边。这个map的key。就是参数名。而value是什么?注意,Value是。字符串数组可不是字符串。这是大家需要注意的啊,你看看。Request对于请求参数中所携带的参数是以map形式接收的,并且该map的key是string,就是我们参数名啊。
15:11
而value则是数组。注意,这专门说了是string数组,为什么?它主要是针对于这种情况的。大家看。我们见过这个,在注册的时候是不是见过这个呀,这个比如这儿有个爱好。是吧,有个爱好,然后这儿来吧。Input type。这是什么复选框?副眼框是什么东西呀?是不是check box?Name等于。Hobby。
16:03
Name hobby。啊,Name等于后面它这都有value啊,Value等于比如。Running。Pub。是吧,再来还有什么?Swimming。游泳。还有什么reading?看书。对吧。你看看这里边。这样吧,这个也加上一个碳,大家看这里边。
17:06
复选框里边像他hobby这三个是不是都叫hobby。都叫好,北郊意味着什么?我们看一下,先看看啊。先看一下我们的页面。不就是他吗?你看着我把这三个都选上。打开I watch。我们监测一下走。Name张三没问题,AGE23也没问题。看这。这什么?好,等于running。毫倍等于四维零毫倍等于零。什么意思?一个参数是不是出现了多个值啊。
18:02
那也就是说对于我这边接收。我该怎么接受了?我接收的是多个值啊。所以它是一个数组,你看看request get parameter。Values。你看他是个,紧接着我便利这个数。对吧。H。我就输出H。就这就叔叔这H。
19:00
好了,我们看一下。春发布了吗?F这样把它关掉。不能挨不能啊啊好在这儿了啊,注册。你看看。是不是?所以这里边是不是它就获取到每一个值了。获取。指定参数的所有值。获取指定参数的所有制。哎,这是我们大家需要注意的这么一点,所以呢,我让大家看一下获取。
20:03
存放。请求参数的map,我们看一下这个map到底是什么样是吧?request.get。他是个卖。你看看这个map是不是string string数组啊,那下边我就遍历这个map是不是就OK了,遍利这个map怎么便利啊,啊,我们怎么便利。慢法怎么便利?要便利他。我是不是。这样。For。String。Entry。
21:00
啊,不能叫entry,这个叫。这叫map点儿。是不是我set呀,我编辑这个set。然后输出。这样吧。然后瑞,诶。Request点儿get parameter。这放个屁。好。诶。这个。输出的话,它会输出什么。他会说什么name,然后是张三没问题,A姐是二三也没问题,关键是你说我这儿如果说是。
22:11
Hobby。这会输出什么呢?其实在这儿刚才已经输出了,我不知道咱们大家注意这个结果了没有,你看他输出的什么。Hobby等于running是他。这又是什么意思呢?先把他跑了,先把他跑了啊。我这次把running去掉。注册。你先看看前面的hobby是不是成了swimming了,你看这hobby是不是也swimming啊?这是便利的那个map。那这又是什么意思呢?其实啊。我们说perter,它本质上等同于什么?
23:06
我给这写了get para parater方法。本质上等同于。Get parameter。Get parameter。我们看看啊,Get parameter。Values。零这样吧,我写个参数吧。想他不写个他你这空参数肯定是不对的啊。他就等同于这个东西。所以我给大家。
24:02
写上这样一个啊,我给你写上就写上它。Name。或者这样吧。Name values。零。当request get parameter。Values name。你看看是不是相同。他肯定是一样的呀。好,重新发布了。
25:01
选上它吧,走。你看看。这个张三是不是和这个一样一模一样,对不对。这就OK了,这是我们说的。请求参数相关的这四个方法。那么对于请求参数需要我们大家掌握的啊。第一点。请求参数是存放在哪儿的?请求参数式存放在map中的。这第一个,第二个。这个map的key为。请求参数的名称。为STEM类型。
26:01
这个map的。Value为请求参数的所有值,你注意是所有值为。String数组类型。第三个。使用。最多的是。Get parameter方法。七。等价于。Get parameter values。
27:03
零诶大家需要掌握,对于这个请求参数需要掌握这么三点。就OK了。这就OK了。
我来说两句