00:00
这个咱慢慢进行啊好。注意了啊,注意了,我们接下来啊,来玩下一个啊,来玩下一个,通过我们下一个案例,我来总结一下啊,好,来一个test3.gsp啊。来一个零三。好,外边插苗再来一个啊。零三。好,这里边儿啊,咱们来。这个这个我就都干掉了啊。好,发出一个这个03点度,我们还是需要弹一个这个啊。这里边儿呢,咱们这个处理零散啊,我们现在这个需求是什么呢?我现在需要的是为前端提供一个对象。
01:06
那现在咱们需要思考一个问题,我们为什么要需要提供对象呢?将来我提供STR1STR2多好啊。为什么要提供对象?将来咱们要为前端传递的值是不是有很多呀?这些个值你不能分别的给前端进行传递,这些值太乱了,太难管理了,是这样吗?每一项取值和赋值都会耗费我们大量的精力,所以说这就凸显出来了,我们面向对象语言当中的第一个特性叫什么呀,封装。是这样吗?我们可以将什么呢?我们可以将。多个什么呢?多个不同类型或者是相同类型的值,给它封装到一个对象中,你是不是管理一个对象就相当于管理这些。是这样吧,好,那么接下来啊,我要把它封装到一个对象当中。
02:03
现在啊,我再来在我们的这个北京power note下啊,好,我再来一个这个紫包啊,叫做。不是啊,咱们来一个package啊。叫做do manin。Doin。啊,这东西什么意思。Doin啊,它有一个很好听的这个叫法啊,叫做领域模型啊。但这东西它其实就是啥呢,我们每天都在使用呢,叫什么呢。Po o。九。BN be Java b听过吧?虽然spring咱还没学呢,我要发大招了啊,实体类听过没?
03:02
这听过吗?实体类是什么说?实体类是什么?实体类是在我们实际项目开发当中做什么呢?是不是跟这个数据库做交互的对不对,也就是说啊,将来我们肯定是跟数据库做交互,从数据库表中拿数据来操作,对吧,也就是说为了方便的去这个接触数据库啊,数据库中的一张表。是不是应该对应我一个实体类啊,对不对,我觉得假设啊,就是学生表,Student的学生表对不对,你有一个学生表,我为了方便的在Java语言当中操作,你张学生表,我就应该有一个学生类对不对?好,我student表student类,你有ID编号,Name,姓名,Age,年龄这三个字段,我就相应的就得有什么呢ID。编号、name、姓名、age,年龄这三个什么属性在类中叫属性,在表中叫什么字段?OK吧,跟你都是一一对应的这三个属性啊,大家注意啊,包括我们之后所有的这个实体类中的属性有一个最大特色,什么所有属性必须是什么private私的所有的存取值操作必须是以set和get的方式来进行的,是这样吧,这东西叫实体类啊。
04:26
只不过啊,近些年啊,就实体类,实体类这么叫了啊呃,大家叫烦了,OK吧,而且现在这个新技术层出不穷,OK吧,好,所以说呢,我们现在在,尤其在这个一线城市啊,北上广深啊,这个习惯于把这个实体类叫做什么呢?叫抖面啊,以后管它叫做领域模型呢啊。OK吧,是不是听起来是很高端的样子是吧?好,其实就是实体类啊。好,我们现在这个短面里啊,比如说我现在来一个学生啊,来一个学生。Student student啊,咱们比如说来个学生好,我们先来几个privated啊,咱们来一个。
05:09
再来一个。Age啊,好,来一套这个set get啊呃,除此之外呢,我们再来一个,我看再来个什么呢?再来个代餐的过渡方法吧,行吗?这构造方法咱们来一个行吧,这能做的方便一些,但是以后这个代餐的构造方法用的不多啊,啊,为什么不多,以后再说,哎,你有一个代餐的了,就得提供一个什么。五彩的是吧。行啊,记得都挺好,我们为什么要非得来一个午餐呢?啊,反射说的好啊,这个说的好啊,这个说的太棒了啊,同学们啊,哎,这这真是啊,把我的小心灵都震撼了,这说的太好了,咱们唯一一个玩啊,说的是说的最好的啊,也就是说啊,我们现在啊,我们现在是自己去拗对象,对不对?你来了一个这个代餐的构造方法,是不是把我们这个无产的数据给覆盖掉了对不对?
06:15
将来不是我们自己W自己,而是由框架帮我们,所以你必须得给人家提供一个什么呢?无参的啊,构造方法啊,OK吧,好,这个对于我们现阶段来讲,是不是就是养成一个好习惯而已,对不对,到时候spring框架啊,都是根据这个反射机制帮我们。有对象了,OK吧,啊,这个说的特别棒啊,行,我们现在啊,来这么一个对象啊。哎,我现在来铺一下啊,一个杰森代表一个对象,这个没有疑问吧。一个接身就是一个对象啊,那比如说我先来一个什么呢?ID行吧,当然这里边东西咱不能写死对不对,先来个这个问号来代替了,将来都是从数据库表中查的对吧?好,再来一个。
07:11
Name。再来。HOK吧,好,其中这个H它是一个数值,所以说不用双引号引对吧,我们现在用出来一个学生啊。嗯。来个A01吧,学号是A01,姓名张三年龄是二三。OK吧,好,我们现在首先把这个杰森的这个模板大家注意啊,杰森模板啊,粘到咱们这个空串里边啊,我们也可以看看以后这个杰克森是怎么工作呢,对不对?好,加完之后这些问号是不是得替换成咱们这个对象中封装的这些属性啊。
08:00
对不对,好问号这东西就得拼字符串了,这个小心一点啊,问号去掉怎么办?引号引号回推一格,加号加号啊,这个s.get。ID啊,然后内。这个拼的时候,同学在练的时候可以小心一点啊,因为这个东西你错一个引号啊,杰森就跑不通,OK吧。A9根号也去掉。有同学说那个用那个单引号啊,咱们标准这个工具生成的都是这个双引号OK吧,好还是像这个双引号靠拢,但是单引号也能用OK吧,但你在后台拼的其其实都是这个双引号OK吧,好来咱们把这个str啊给他发送到这个前端啊,前端来看看这个data啊,能不能这个成功的接收到啊,首先你得保证它弹出的是object,我们才能解析它的值是这样吧,那老师那如果我们后端这个接森拼错了,语法上出现了问题,这aler他会跟我们谈什么呢?
09:06
什么ND呢?它会没反应,什么都不谈,整体解析就错了,OK吧,这个需要大家注意啊,所以说将来从后台往前端传数据。大家可以思考这么一个问题啊,后台往前的传数据,我们是可以通过你弹一个aler,它来判断一下,如果你点击这个这个aler上,如果没反应,啥也没弹,说明什么呢?你后台接身错了,是这样吗?如果他弹了,至少说明后台拼的接身没错,是这样吗?好,我们现在来看看啊,能不能谈啊,来TEST3啊TEST3好重启一下服务啊。泰坦3.jsp。
10:01
点击弹了吧,弹了没问题对不对,好,咱们也可以这个观察一下,比如说咱们执行一个这个点击防的是这个MA03,是这样吧,好那么我们做出的这个响应呢,其实就是这种效果的啊好你看是不是就是咱们这个Jason的这个数据对吧?好没有任何问题啊好那怎么来取得。这个对象的值呢,以杰森点T的形式来取值对吧?好,我们来一个得塔点系列对不对?好。ID。Name以及好的。刷一下啊,咱们来点一下走A013323成功的把数据传递到了前端,前端成功的解析了数据并展现了数据,是这样吗?好,那接下来咱们来分析一下我们为什么要用杰森啊,为什么。
11:11
你看上节课老师说过一嘴啊,后台是不是就是为了数据处理数据的?他把数据直接撇到前端,诶前端接把数据接到了之后是展现数据啊,后台取数据,不论取成什么数据,最终肯定给我们处理成什么呢?处理成对象或者是对象的集合,这个没问题吧。OK啊好,那么大家想一想啊,我最终从数据库表中拿到的结果是谁?是不是这个S?这是数据啊,这些值你可以现在可以想象一下是从数据库表中取的,OK吧,是不是最后都封装到了咱们这个S里边啊。对吧,但是你就想一想,这个S如果直接传递到前端能行吗。试试啊,咱们来试一试,嗯,咱们咱咱们这回传一个S啊,同学们啊,是不是相当于后台把这个数据拿到了。
12:04
可往往往前端一撇对不对,前端呢,是不是要拿这个S对不对?好,那他拿这个S,他就不能玩这个杰森了吧。它肯定是一个什么test,接身是不行的,因为它不是接身串对吧,咱们来alert一下这个,看看它是什么效果啊。三咱们做一个电极走。等会啊,咱们来看。是三没问题啊。来。我看看啊,MYSO03.do啊MYSO03把这个S给它输出一下。行,我重启一下,先试一试啊。
13:10
其实弹出来的它应该是一个什么呢同学。应该是一个,咱们这个S默认执行一个to string是不是一个地址啊对吧?好,再来试一试啊,这回我把这个环境清一下啊,重启一把再试试看啊。好3.csp好做一个点击,大家注意看他拿到的是不是一个地址啊,但是这个地址大家想一想。咱们JS拿到这个地址之后,它有用吗?后台拿地址有用,但是前端拿地址没用,是这样吗?为什么他拿地址都没用呢?因为这个地址大家注意啊,它指向的是不是我们Java语言当中的这块堆啊。
14:06
哦。一种是Java语言,一种是什么?Java script,一种是GS语言,对吧?二者之间一种是前端,一种是后端,虽然Java script也叫Java,但是跟Java是不是没没有什么关系,对吧?好数据结构不一样,数据类型也不一样,一种是强类型,一种是弱类型,是这样吗?那GS你不给它赋值。他连自己是什么类型都不知道对不对,所以说大家注意啊,即使我在这儿啊,拿到了这个。S student这个对象的地址拿到了也没用,OK吧,啊数结构不同,我指向不到这块,给我这个学生的这条信息我拿不到,OK吧,所以说大家想这个这个问题啊,所以说我后端是把这个数据拿到了,但是我给前端前端用不了。哎,是不是咱们这个接神的作用就在于此?
15:04
我们可以把这个S给它解析成什么呢?我们怎么做呢,把这个S是不是给它解析成了接身串啊。对吧,然后最终给前端提供的是一个str这个接身串,前端呢,是不是相当于把这个S这个什么。啊,用S杰这这个啊杰森啊,把咱们这个S数据拿到了,是这样吗?这回啊,我再弹一个这个data啊,咱们再来试一下啊,再来试一下啊对啊,这个咱们碰后台了是吧?那这个版本呢,只要碰后台就必须得重启服啊。好,咱们这回再来看一看啊,维持我们刚才的这个小伙注意看。没事啊,按钮没出只能说明服务器没有还没有启动完成,OK吧,刷一下就行了啊,做一个点击,这回是又拿到了object,那大家现在想这么一个问题啊,是不是相当于我现在拿到了这个接身串,可不可以这么认为,我就相当于拿到了这个S对象?
16:17
可以这么认为吗?可以吧,其实你S对象什么叫对象,对象其实就是一用来封装什么呢?封装数据的这么一个容器吧,你看啊,我拿到ID name和age,刚才咱们这个演示是不是都都拿到了,就相当于我说把这个S对象中的一个数据都拿到了,好所以说接森,咱们总结出来接森是干嘛用的。它是算是一种什么呢?作为数据交互的一种媒介,OK吧,后台取数据并处理数据层对象或集合,把这个数据给前端,前端能用吗?用不了,所以说后端把数据先处理成什么,中间的这个媒介杰森,再把杰森给他,他是不是就相当于拿到了杰森,就相当于拿到了对象。
17:09
OK了啊,所以说咱们才会使用杰森OK吧,好,那么除了杰森,其实我们也可以使用这个其他的手段,但是呢,这个精神的这种手段啊,是我们现在啊,被普遍认可的最简单方便最轻的一种方式,OK吧,所以说呢,将来咱们只要是玩这个局部刷新,玩异步请求阿贾克斯,咱们肯定玩的是接身数据OK吧啊其实以后在工作当中啊,就像我们刚才那种所谓的这种TST啊,几乎不存在OK吧,以后工作中基本看不到啊,全是什么。一色的这个接森OK吧,这是咱们这个接身的这个作用啊好。
我来说两句