00:00
添加了过滤器以后。我们整个程序的执行流程。那现在我清楚了。那么添加这个过滤器是干嘛的?我们一开始。就说过这个过滤器是干嘛用的?用于过滤、拦截请求。和响应的,我们拦截住请求和响应以后,可以修改请求和响应里边的。内容。那下边我们就来写一个例子,看看如何修改。请求和相应的。内容。啊,我们这样。来个工程。
01:01
零六。这个叫。Modify。Modify request response,就这吧,长一些就长一些。情调。好。我这儿先来一个。Com点北 powerno.S我们这个叫什么,Some filter。
02:05
钢线。好。这里边我修改请求,怎么修改set tribute,我们请这边。放些属性。往请求,往这个请求域里边啊,Request域里边放一些参数,那比如说放个。啊,放个什么科北京。
03:01
是吧,再来一个teacher OK。这是不是就修改了我们的请求了,修改请求。对吧。修改了,请求我们这样,我这儿来一个。叫some solid。So。Some solid。
04:14
这干嘛?或许请求中。携带的。什么?属性。请求中吧,用request.get a tree。是吧?Get tribute,我可以come,或者这样。我们也不知道它里边带什么东西了,我可以这样写,Get。Attributes。
05:06
可以吧?属性名称,便利。便利。枚举。Well names.has more elements。然后我们给他。给他逐个读出来。Request get,不是parameter啊,Attribute。Name value。是吧,当然Y6,我们这儿这个Y都是字符串的是吧,给大家输出一下。
06:12
Name。礼拜6OK了OK了。OK了,以后呢?我们就可以给他输出下看看了。接着给他输出一下看看,呃,这样吧。这个咱们。Filter。
07:03
Before。可以吧?这个是。都注册过了啊。我们现在直接跑就行了。现在我要访问萨。把这个先清掉。走。看着都读出来了吧,是不是。这说明他修改了什么了,把请求修改了。谁修改的filter呀?修改请求,这怎么修改了?
08:00
向请求域中添加了属性。通过这种方式。那请求修改的响应能修改不能呢?当然可以。那我们看一下响应是怎么修改的,响应要想修改我们这样。嗯,这里。response.get writer,我们获取到标准输出流,让点print。呃,这加上一句话什么呢?嗯,这是someet,这是some,咱们这样这儿写上response.set。
09:13
Content type。这个是L。Utf-八。OK。正常啊,标准输入里边是不是只有这个东西。是吧,这some solid。刷新。没问题吧,好,现在。
10:00
现在我要修改我这个filter要修改响应了。怎么修改?Response get writer,这也是out,然后out点。Print。什么东西?这加上一句话。这是some。是吧,这个是some some。那就这样吧,拷贝他。Sam felt。
11:01
你看看这个东西怎么输出。直接刷新走。看到没,Sum sum filter,也就是说我在这给要给客户端响应了,创建了标准输入流是吧,那在这儿呢。我也向那个流里边添加了数据了。说明这用的是同一个输出流。这就修改了我们的响应了,来请求和响应都通过filter修改了,从这啊,再给大家说这么一点,呃,在学这个so里基础的时候啊,在讲这个so的时候,曾经说过,这个out关还是不关,它是个标准输入流啊,这out关还是不关。
12:02
我们说了最好不要关,你如果关了它会出什么问题?Filter。如果要。要修改这个标准输入流。你把这边把它音关掉了,那么这个修改是无法写到。这个溜里边的。您看看是不是。重启一下。当然和他现在没关系,我们看这啊,我直接刷新,你看到没。是不是写不进去呀,为什么?你这个标准输入流。在萨姆已经关掉了。你这个流里边数据已经和这个响应,和这个真正客户端能接收到的这个响应标准数流没关系了。
13:03
而如果你不关它,这个流也会自动关闭,当响应结束的时候,这个流也就关闭了,所以这个流我们一般啊不去手工关闭。这是需要注意的这么一点啊。OK了啊,我们现在就彻底的理解了它的作用了。
我来说两句