00:00
行了,那么咱们说说啊,在线阅卷这个功能,呃,回到我们这里边来,咱们先找找我们的这个笔记啊,准备工作开发任务啊,所以处理搞定了下一个开发的任务,那我们说了什么呢?我们说在线在线阅卷啊,在线阅卷这个功能好了,那么这个在线阅卷功能里边干嘛呢?我们看一下啊,在这里边首先呢,呃,根据啊用户所提供的答案,用户所提供的答案在哪呢?你再看一眼啊,在这我当当当当一选,啪看这里边ANSWER9啊,在这里边ANSWER3啊,根据用户呢所提供的答案,那么与什么呢?与我们说的这个正确答案比较啊,正确答案的比较来得到什么呢?
01:00
得到用户的这个分数啊,来得到用户的分数好了,这第一件事情,然后第二件事情干嘛呢?呃,我们去看看啊,第二件事情过来,呃,我们的第二件事情要做的事情是什么呢?那么就是将啊,将我们的这个用户的分数,将用户的分数,然后干嘛呢?把它交给交给我们的这个我们想想啊,交给谁呢?啊,交给我们的这个scar scar.gp来干嘛呢?来做一个相关的输出啊,也就这么回事了。好了这个功能,那么我们说啊,在做这个功能的时候会有点解叹,要想知道用户对于这个几道题给出了什么答案,很简单,是不是在这儿,ANSWER9第九题嘛是c answer3第三题给的是B,我们能够知道什么呢?能够知道我们说呀,用户对于当前这些题所给出的答案。
02:02
但是我们怎么知道这些题它的正确答案呢?我们怎么知道这些正确答案呢?讲到这儿有同学可能会想了,说干嘛呢,说我们在这里边拿到这个题号之后呢,我们到智库里去查询好不好,可以这么做,但是呢,浪费时间,说怎么浪费时间呢,我们去看看啊,这样的边可以这么做,你需要在脑子里边给我画一个流程图,什么流程图呢,就是。参加考试与我们的在线阅卷之间的关系,画一个流程图在你脑海里边,那我的字面我在这块呢,我也画一个,看看咱们同学啊,脑海中参加考试与在线阅卷,他的流程图跟我画的是不是一样的啊,我们看看。首先左边呢,应该是一个浏览器,对吧?浏览器好了,在这来写上啊,我们说的这个浏览器,那么在浏览器这边呢,首先呢,第一个上面写的是什么呢?我们看一下这大红字,咱们写上说呢,是参加什么呢?参加我们说的考试,诶参加考试,然后在这里边呢,他呀就发送了一个请求到达我们的服务端。
03:18
放下大家负担了。那么在副端这边呢,我们去看看啊,在端这边,那么我们有一个serve,诶,我们有一个在这里边,好了,这个我刚刚写过,给它取名叫什么呢?呃,叫做什么呢?叫做question,叫做question find。那么在这个资料里边呢,他干嘛呢?他随机随机查询了我们说的四道题啊,查询了四道题目好了在这儿,然后通过请求转发的方式啊,咱们看看啊,我来。通过这个请求转发的这个方式过来,那么把它呢交给谁呢?交给了我们的这个ex am.JP就交给他了。
04:12
然后由这个JP负责干嘛呢?将我们说的四道题,将四道题目的内容把它写入到我们的显题中啊,把它们写到我们的显示体里状态,诶交还给我们的用户,那么这个时候呢,在用户浏览器中就出现了什么呢?试题列表,那就出现了,我们说这个试题这个列表好了,那么在这个试题列表里边呢,那我们往下去看看,在这列边儿这里边儿啊,比如说这是我们写上啊写上这是题目一过来这是题目,二来这是我们这的题目三,诶过来,然后现在呢,咱们的用户呢,呃,答完题之后,在这里边一点这个按钮啥呢?交卷诶,咱们写上一点这个按钮啊写啥它呢叫做交卷啊,交卷功能。
05:11
好在这。然后在这里边呢,呃,我们看啊交卷功能,那么现在呢,浏览器是不是又发起了。一次新的请求啊,一次新的请求过来在这儿。然后在这里边呢,我们有一个threat,我们有这么一个threat,再来在这我们给它起名叫什么呢?呃,给它起名就叫做e Sam吧,要ES是吧,那么叫做里边他要做什么事情呢?首先呢,第一个他要得到得到我们这个用户他所参与的这个四道题目啊,我们写上四道题目好了,然后第二个呢,那么得到什么呢?我们看下得到这个用户所提交的这个题目的答案好了,那么第三件事情来进行一个相关的判分好了,然后第四件事情,那么将我们的这个分数。
06:15
将我们的这个分数呢,那么去写入到我们的响应体中,写入到咱们的啊,咱们的这个响应啊,响应题里边好了。那么在这里边就有个问题了,我们上哪儿知道这哥们这把做了哪些题呢?啊,如果知道这个信息,那后面就不叫事了呀,把数据写过去了。来,各位,你们脑海里边有没有这张小图呢?有没有这张小图呢?看一看,看看这张小图看到没有?好了,问题来了。我的这个E,我的这个e Sam他怎么能够得到当前这个用户所做的这四道题呢?来那个,挥舞你的小手,写写答案,告诉我怎么办。
07:10
C生共享还有没有其他方式来随便写啊,不,你甭管,你把你想到答案给我写啊,就一个王雨坤还在呢,什么赵高尚啊啊,张芊芊啊啊,这些同学们都哪里去的啊,到哪里去了啊?苏亚军给了个cookie啊,其他同学呢啊,什么郑涛涛啊,张新伟啊啊,难涛来就两个同学啊,今天下午啊,其他人都跑路了,都都准备去这个申请重修了啊。其他同学呢,我们看看啊,下午不好啊,下午不好,大家表现不是很好啊,你看赵刚上海来了session啊,张经伟session哦,原来是网络,原来是网络延迟啊,啊是这么回事啊,卢瑞呀卢瑞啊。是卡,对,确实卡,嗯。
08:04
好了,那么对各位同学,其实这道题你看啊,在线出题与在线答题,当你把流程图画出来之后,你会发现什么?实际上现在我们面对的是一个数据共享的问题,对不对?你出题,我判卷,我得知道你给人家出了什么题,是不是这就是一个明显的数据共享问题了。那么在这个数据共享的问题中,我们可以清晰看到什么呢?这两个s smart在运行时,他们是不是在为同一个用户提供服务啊?是不是在为同一个用户提供服务啊?是的,那么在同一个网站中,如果两个smart他们为同一个用户提供服务,那么此时可以借助于什么呢?借助于cookie、会员卡或者是用户的私人橱柜session来实现我们的数据共享,对不对?哎,软件,那么我们的苏亚君同学呢?建议用cookie,那我这边呢,倒不是很认同这个问题,那为什么呢?因为一道题目里边啊,他有好几个信息编号,然后呢。
09:04
呃,哎,也行,用cookie也行,用cookie也可以,就是用cookie也行啊,用cookie也可以,那么这里边用户每次答四道题,我们发四个cookie过去就行,但是有个问题各位啊,如果咱们参加考试的这个学生,他是计算机专业的苏雅军同学啊,用cookie可以啊,但是如果参加考试的同学是计算机编程专业的,那么他一定会知道什么呢?服务端相算机把握过程中会有cookie,那么这个时候他可以查看这个cookie来看什么的,来看这个答案,那这时候就不行了,所以他没法让我们的计算机专业学生参加考试,因为计算机肯定知道啥叫cookie,没有事就想想他能不能通过cookie打过来呢?啊,那个我们的苏亚平老师能不能用cookie打过来呢?你看啊,这边写上了不太清楚,第一题是A,第二题是B就乱了,所以用朱KI打它不是不行,但是容易造成什么呀,答案的B,答案的报。
10:04
所以最终的选项选是呢,两个苏为同一个用户服务cookie抹掉了,因为他有可能在这情况下暴露出这个答案出来,那我选C选C选,所以呢,所以这个里边,最后这里边变成了什么,它变成了是一个数据共享的问题,这数据共享的问题,那么把这里边都抹掉抹掉抹掉抹掉,我们这里边建一什么呢?给当前用户建一个session出来啊session,哎,所以这几个同学啊,赵高尚啊,包括舒雅思在定啊赵高尚啊这几个同学张天伟不错,可以啊,可以可以可以啊,这就是我,我想教你们说八天时我想要的一个东西,就是你们脑子里边有流程图,看流程程中的分数线,在什么问题,看到没有想到解决方案,对吧,不需要管命令,不需要管命令,那么所以答询的时候呢?我们的question find把四道题放到用户的柜子中。那么在我们在我们进行这个什么呢?阅卷的时候,从柜里面拿出来就得了呗,这不属于共享就来了嘛,哦,在这儿,所以程序改不改吧,就可以写了,就可以写了,先找到这个question render surprise在这,那么在这个里边呢,我们别用request,我们用session,那用session啊,那么怎么办呢?我来啊,在这先声明一下,Http session跟康泰讲,把这哥们的session给我好了,下个问题我这边用的是get session。
11:36
用它呢还是用用哪个用哪个跟我们康要要session来,我来问问题来。在这里边,我用哪个命令向Tom去索要当前用户的session来,谁能告诉我用哪个?在这里边我们说用哪个命令来。
12:00
来要我们当向他们来要当天用的这个这个这个这个再审哪个是我们说的这个呢?那么我们看一下还是还是我们说什么呢?Get fashion fo谁啊,那在这里边我们看啊,当你能确认来访的用户身份一定是合法的,那么该是空对吧?咱们写该是空,那么如果你并不知道当前用户他的身份是不是合法的,那么你只能用该号,我们前他在讲过滤器的时候讲过一个知识点,恶意登录啊,我只要通过浏览器地址栏,我就不用做做做登录,那么我也能去访问对吧?我能访问这个S,所以我们说在一个系统中只有一个地方能够使用该LAS空,只有一个地方能使用空,哪个地方呢?哪个地方呢,就是登录验证S里边在这。
13:01
灯源算里边,在灯源的算里边,他将有有机会判断用户的合法性。那么在这里边用该参。那么在我们网告中其他风源文件中,他没有能力判断这个用户的合法性,所以此时他用的是GA session fo,在这一个系统里边,只有登录验证里边能用get session空其他地方必须用get fo,因为我们的用户在不登录时候可以通过它来往里攻击啊,别往里攻击,看到没有在这,所以刚才几位同学都答的错了,一所的错啊,一所错,我让你们互相背了该session无餐与该false有什么区别?对,我让你去背了,是不是没背啊?你们都没有背对吧?都没有背啊,气死我。好了,那么么拿到session了,然后这里边把这个数据放到session中,哎,转交给我们的JP,那么这个JP呢,就不是从require上拿出去了,是从什么拿出据,是从三里面拿出去,对不对啊,在这里边,哎,然后接下来在答卷的时候呢,那么我们写上交卷,看这流程图里边交卷写这个ESM是好吧,主要让你们背嘛,就不背,你为什么把之点背牢固呢?因为很多时候我们会受到这个业务的干扰,会受到命令表现形式干扰,那么让我们在开发过程中呢,犯一些低级的错误,但是你知识点要背的牢固一点的话,那么就不会在这儿争风头,对不对?好了,你们刚才这组团弃我,我看懂看出来了。
14:42
全给我气的,然后在这边呢,找这个考试考核页面啊,那么一点提交写上向哪里提交,那这里边呢,写上啊斜线my web哦,写上我们说的这个考试ESDM,哎,向这个串的发送请求,那么跟我走来,接下来我们写这个F在线分。
15:07
好,写上light,那么这边呢,写上ESM right啊,气死我了,气的我手都抖,现在那交一交了一题,交了18题之后交什么玩意,这里边这种知识点都答不出来,而且全班都错,哎呀妈气死我了,我看一下在这斜线ES啊好了,然后在这里边呢,那么咱们走一下这个serve light啊,走下进去。给我捋捋啊,过来啊。怎么做呢?首先第一件事情,我们要从当前用户他的私人储物柜中啊,私人储物柜中来得到,得到我们系统中,得到系统里边所干什么,所提供的四道题目信息啊,四道这个题目的这个信息好了,然后第二件事情过来,那么在这里边从我们的请求包里边来读取我们用户他呢,对于这四道题目写啥,这四道题目所给出的答案好了,然后接下来看第三件事情,然后第三件是什么呢?就是我们的判分啊,第三就是判分了,然后第四件事情干嘛呢?在这儿,第四件事情那么在里边呢,将我们的这个分数,将我们分数干嘛呢?将我们的这个分数那么写入。
16:37
写入到我们的这个request中啊来作为什么呢?作为我们的共享数据好了,第五个不来,那么第五个干嘛呢?那么通过这个请求转发我们去调用JP,那么将将我们这个用户他本次本次的这个考试的分数,那么写入到我们的显应题中好了,那么接下来咱们就做下这件事情啊,那么现在拿到当前用私储柜HTTP,然后写上我们说的session好了过来,然后等于request q ST request.get section false,看到没有在这,那么从用户的柜子里边要拿到这个什么呢?这四道题目我们去看看啊。
17:30
Ss session行了,那我们这边声明一个例子集合啊,声明例子集合加泛型q question,然后写上question list初始值等于挠好了,然后咱们取了把柜子打开,然后掏东西,掏东西叫做K啊,叫做K,然后我们拿到这四道题。Que question好了,四道题到手了啊,四道题到手了,那么到手之后呢,从请求包里边拿用户给的这道题,那怎么做呢?来一个for循环啊,我们看一下啊,来一个for循环,说每次循环时呢,我们拿出一个question对象,然后拿出个question对象啊,写上question list,然后在这里边先拿到这道题的正确来string answ answer啊,这道题正确答案,那答案写上啊,question.get answer好了。
18:34
然后再拿到什么呢?再拿这道题的试题编号int加,然后写上我们这个question que填question,我知道ID,然后里边question.get question ID好了,然后再干嘛呢?通过request.get得到用户对于这道题给出的这个答案,那么这里边写什么呢?Answer下划线,然后里边写上什么呢?Q填question ID,你看为什么这么写呢?为什么这么拼取得参数名呢?你看看页面里你就知道了呀,在里边看这。
19:09
点它看这啊,Answer_3answer_九哎,在这去,这是用户给的答案string,然后写上user answer anw answer好了,这道题正确答案有了,用户对这道题给答案也有了,那怎么办呢?判分呗,CTRLCCTRLVCTRL判分。那写上if过来怎么的,Use answer.equal然后写上我们说什么呢?Answer这道题答对了,那答家怎么办,不给分呢?给分写上特scar in the scar,就是只给个零啊,四道题嘛,满分100,平均一道题呢,25分,所以你答对一道题的时候呢,SR加上等于25 25好了,判分就有了。
20:02
那么当这个负循环结束之后,我们的派分是不是结束了?各位,当这个方函结束之后,我们的负循环它就结束了,那么现在呢,需要把这个分数添加到request中,R t request.s r build,写上什么呢?小K,然后把分数往里放好了,放完之后怎么办呢?我们请求转发一下,在这request点写上get request给的拍,然后这里边写上S点,然后点,然后写上request,然后写上什么呢?我想想。嗯。嗯,好了,然后哎,等等等等等等,我们写什么写iner in是谁啊。Inp,这两章记不记得在这啊,那咱们就写上,写上这内容说呢,呃,写上这内容啊,你看说本次本次考试成绩是多少分呢?好了,然后在这里边把it po上去,还记不记得这个英辅点GP啊,我们两天在做添加,在做删除,删除的时候是不是走就是它都是它行了,做好了,来我们最终把这个项目跑起来,走一下,我们看看效果,各位。
21:25
感受一下啊,感受一下啊。然后在这里边呢,让家进来啊按就慢,然后123进来感受一下啊,参加考试,22乘以四,那是884D,哎,二减二等于零,那也是4D啊,那么30减15呢等于15,那是C,你看咱的成绩90减40等于54D,好了,一交卷,本次考试绩100分,哎,然后再来这把我呀,故意答错几道题啊,我答个40分,这把我答我答50分啊,12减八诶,我算错了等于五,哎。
22:17
90减40我估计算错了,等于B6954等于C20减八等于12等于,那么大家请看四道题里边我答对两道题,所以我应该是50分。等等看看啊,六九五十四啊啊选B选B你看就这么真实走50分,哎,50分在这里边看到没看到没这里边。嗯。有没有看到啊,各位有木有看到,嗯,有没有看到。是不是好了,那在这里边啊,我们去看一看啊,这就是今天晚上各位同学任务把考试关系系给我搞定哈,啊把考试关系统给我搞定它啊在这儿啊在这儿行了,咱们下课呢,呃,科一考试就是这样的吧,科一考试比这复杂多了,你看咱们这吧,比如说我啊,我在答完题之后,比如说我得了,呃,我你看同学同来讲,比如说我这瞎打啊瞎打。
23:27
下答完之后这个交卷啊,25分,我这可以回去呢啊,我改一改呗,再交卷零分啊,他有回退功能,Q1考试要比这复杂多了,一个人呢,只有三次交卷机会啊,只有三次交卷机会,他会用一个计数器来统计一下,他会在你的30中放一个计数器,放一个计数器你只能提交三次,那么你提交超过三次以上的话,人家不认,人家不认明白吗?啊,他会比较复杂一些啊,复杂一些在里边啊,行了,那么今天晚上任务呢,就把这搞定啊,搞定那么咱们休息一会儿,接下来呢,咱们休息会回来之后呢,咱们呀,这个还是模拟面试啊,找几个同学咱们问一问,聊一聊,问问本阶段知识点啊。
我来说两句