00:00
那好,下面呢,我们就来。写个例子,看一下代码中请求转发和重对象,呃,怎么写,然后呢,有什么区别?嗯,咱们这样。人们。我想想啊。能不能拷贝他。可以,我们就拷贝它了啊print。这个是。20。请求,Request。第四。Patron。Forward。请求转发。
01:09
呃,关于这个快捷键操作啊,我在这儿就不再多解释了,你如果不清楚的话。大家可以看。这个关于快捷键的那个专题。我录制的啊,关于快捷键的那个专题。专题01ECLIPSE的用法。这里边我们看一下。这sum我们这儿不写这么复杂了啊,这个就直接给它。嗯,我们我们怎么样呢。我想想。请求,这样吧。
02:02
再来个页面吧,我们来个页面,页面我想想啊,哪有页面了,我们request perter,诶,它里边有页面。啊,节省时间是吧。我们就这些东西就不写了啊,就大家都都已经很熟了。好,姓名年龄。注册。呃,注册也行,咱们要登登录。是吧?登录那这儿呢,我这就叫萨啊,这个不叫login了,就叫萨,因为我们这个叫萨是吧萨。Sam so。这样吧,Sum,因为我这个是不是注册的就是sum啊,就写sum了啊,那这边我是不是要接收请求参数啊。
03:01
接收形式参数怎么接收了?啊,这个怎么接受呢。嗯,咱们这样啊,我这就这样写了这个do。都get get就get吧。Request。Get。Name。Name。然后呢?再来一个。再来一个H。嗯。Your name your age。这样吧,我们输出一下。Yeah。
04:02
H。好。当然这里边儿这个中文乱码问题,那get那乱码问题怎么解决。这简单吧,两步一个打伞,是不是一个组装啊啊哎,打伞打伞怎么打伞name.get bits。现在的字符编码是不是ISO8859-幺对吧,按它先打散。在组装name等于。我是不是另一个string by,然后自编码utf-八。
05:03
这是不是解决了中文乱码问题啊,对吧?其实我们这个啊,一般都不这样写,我给大家现在我们一般都不这样写,怎么写怎么按正常的写法啊,一般都是这样写的,直接把它。放这儿了。所以我们就把它删掉了。加个注释解决。中文乱码问题,我们一般都是直接就这样写了啊好。一句话搞定了,那这乱码问题解决了,下边再来,再来一个什么,我再来一个other。这不是对吧。我现在要把请求转发给。Other so。
06:02
那怎么转发?我们也说过呀,Request get request dispat转给谁,Other。第二。Forward。OK,那现在这个啊,是不是没有啊。没有,那我们就定义。Other。Other。这里我们要什么,还是?
07:01
To Get。这样吧,我干脆拷贝他。哎,不拷贝了,免得考考来考去考的,大家考糊涂了啊,咱们还是修改吧。好,我在这边。这个请求是不是要转发给他呀,那我这儿。输出一下。我不输出了,不输出我们不是学了那个response了吗?是不是response.get writer。然后。Out out。This is。啊,这个这个这叫什么呀。Other,好,就这。
08:03
大家看。我这儿就跳,跳到哪儿了,就跳到other了。就跳到other里边了。先跑一下啊,这程序先跑一下。跑一下的话。就到酒了啊。哦,到九了,对这个九它已经解决了get乱码问题了,是不是我们还用七还用七。呀,诶,这怎么P了。呃,我们看一下啊,看一下。Other。
09:01
哎,这里边儿有个问题啊,大家看看。就这个我这接受的是什么do get,诶他这他这这为什么你看着啊。大家看。Method post is not supported by the URL这。又post了。他说你这post提交不支持,诶,哪有post提交啊。看看。哦,在这呢,这这这我说呢。我们拷贝过来的这个是吧。刷新走。没问题吧?啊,这边接受了。也没问题是吧,那这是什么?这是请求转发,我说了请求转发是什么?请求转发是把这个请求转给他了,那他里边这个请求和这个请求是同一个。
10:15
它实际上是同一个,那我就可以或者说内容是一样的,那也就是说我能不能在这儿也这样做呢,获取到。这些内容。能不能这样?这多加几个等号是吧。行不行行不行,跑一下看看。重新发布过来。19。哦,这个我们不管他,我们要的是它是吧。
11:03
那看来就是真真的重新发布过了,那就是了。走。行不行,可以啊,完全可以,为什么你这请求由他就直接传给他了。在哪传的,在这儿的呀,你看这个request request就传给他了。所以这个请求里边就可以获取到这些参数了。明白吧,所以大家看看啊。为了证明他他们操作的是相同的内容,你看看,我再给你放。向request域中放入。属性。这个知道吧,我request set attribute。
12:02
嗯,咱们这个叫什么。叫at tr name嘛。这个name。这个name放程。就是这个name,然后呢,A thh。也就是说我现在是不是把这两个属性放到它的预水性空间了。那这边我是不是就应该,如果他们是同一个的话,那预使用空间肯定也是相同的,所以我就要就应该能从这个玉里边获取到。相应内容对吧,那我这就写从request域中获取,从request域中获取。获取什么获取属性?
13:04
Request get。A tribute。At tr name这一个吧,我这个就叫at tr name,还有一个是a drh。Age。当然了,我的name和age都是什么类型,是不是啊?强转。好,然后我们。输出一下。输出一下。
14:04
Yeah。这这这怎么回事?好。好,发布了啊。走。大家看a name a DR edge没问题吧?也就是说通过这两个给大家证明了一个问题。请求转发,这个请求是不是跟你没变呢?从父亲内部就跳转到这儿了。而我们用户最终得到的这个响应是哪儿啊?谁给的响应啊?Other给的响应。对不对,我提交了一次请求,获得了一次响应,这是我提交的请求啊。我提交就这一次请求,我获取到的是这样一个响应。
15:05
好,这是请求转发。那不再看重定向呢?重定向要改的话很简单,这是请求转发。重定向我给大家留着一个代码,我其实就按理说就改一一句话就行了啊,我给你留着它。嗯。这是21。Send redirect。
16:01
啊,就他。这句话。删掉改成什么?重定向,哎,我们说了重定向是谁的哪个方法呀?response.send redirect。哪个啊?对不对啊,好,就他。把这个关了。他是七啊。看好了,看好了。走。怎么回事儿?
17:01
他报了个空指针异常,谁空啊?Other so里边17行,Other里边17行,17行。这儿空了。这是谁空?那肯定就是他啦。这个name是空的。哎,为什么这个name是空的,是因为这个请求就已经不再是这个请求啦。和这个请求已经不一样了。你看看这。这重定向的时候里边有请求吗?根本就没请求这回事儿。而我们请求转发的时候,人家是不是里边for what,里边是不是有请求有响应啊。所以它是空的,所以这个我就给你删掉了。删掉他。
18:02
删了它以后,你看看这个和这个是不是空的,你再看看这俩是不是也是空的,好了,他重新发布过了。走。你看。是不是都是空的,获取不到?为什么?就是因为请求对象已经变了。请求对象已经变了,OK了。请求转发崇令香,诶,我们从这儿就能大体上感受到他们两个的区别了。是吧,当然。很详细的内容,我们后边还要继续学习。
我来说两句