00:00
上一节课呢,我们处理了杰森,非常的简洁,这节课我们来看一下其使用原理是什么,实际上呢,原理就是这个HTP看PPT。哦,首先这个PPT呢,实际上是我们刚才处理这层的步骤是吧,第一步加入加包Jackson这三个包,第二步编写目标方法,使其返回杰森对应的对象或集合,注意这个对象或集合呢,都是Java类型的。第三步,在目标方法上添加一个注解,这样的话呢,我们就可以完成。发一个请求,然后VC给我们返回一个JA森对象,或者是一个杰森数组,对吧?上节课已经说过了,下面我们就来看其背后的原理是什么。背后的原理实际上是需要一个对象,这个对象叫HTTP。
01:05
Htp convert是spring3.0新增加的一个接口,它负责将请求信息转化为一个对象。或者是将对象输出为一个响应信息,OK,里边有对应的一些方法啊,这个呢我就不细说了,下面我们通过一个图来说一下http message的工作原理。我们看到请求先转为http input message,再由htp convert转为VC需要的对象。对应的stemvc返回一个Java对象,它通过htp convert转回一个http output method对象,然后呢,给出响应。这里面有三个对象,一个是http message convert,它可以把http input stream转为我们需要的账号对象,还可以把返回的Java对象转为http output message OK,再看这两个,一个叫http input message,还有一个叫http output message,看一下control t。
02:26
Http input我们看。这个对象里边实际上只有一个方法,看到了吧,什么方法呀。诶,它可以get body,它可以把这个嗯,请求信息转为一个输入流,看到了吧,这个输入流给到我们的http method convert,转为我们需要的对象。那对应的还有一个叫http output。
03:00
也只有一个方法。他把响应信息转为一个。Allput stream看到了吧,诶。来看这个图。Spring mvc返回了一个Java对象,它通过htp message convert转为了http outputtream这块的话呢,我们会得到一个输出流,输出流程往外一写,不就是想不就是响应信息了吗?诶,这就是我们整个htp message convert的工作原理。下边继续。我们看一下这个htp method convert啊,有很多的实现类,我在这个表里边呢,列出了一些,列出了这个实现类,而且还列出了他们对应的功能,那我们现在我们想看一下spring mvc。搭载了哪些时间类,怎么看啊?我们直接在test这个目标方法上加上一个断点。
04:02
Debug,走起。好的,我点一下。过来,诶我们去找谁呢?我们去找dispa。这个最小,我们打开this。我们找到。Handle adapters。我们找到。Request mapping handler adapters,打开我们看mass converter。Message converts打开我们看,诶这里边呢,是七个,看到了吧,它默认搭载的实际上是六个,不是七个,怎么多了一个呀,因为我们在前边我们加入了这个Jackson所对应的价包,就默认是。六个看到了吧,加完这个加包之后,变成了七个很神奇的一个地方,你把这个包加进去,它就会自动的。
05:00
把我需要这个ltp message给我装载进来。这个真的很方便,好了,现在我们知道啊,Spring mvc,除了我们现在用这个mapping Jackson to htp message convert,还有其他的一些http message convert如何使用呢?以及上节课我们说这个叫response body,这个注解到底是个什么作用呢?下节课我们来说。
我来说两句