00:00
我们来举一个小例子。我们看我们前面这个数据库里边有很多table,我们其中有一个呢,叫exam student,大家还记得这个吧,是吧,我怎么办呢,我想。通过MVC设计模式,把exam student这个数据啊显示在网页上,我们就做一个查询,这个需求是这样的,我会点一个超链接,我说诶,显示所有的学生信息。点完这个创建之后的话呢,在一个JSP页面上边,把所有的学生信息都给我显示出来,就这么一个需求,看看需求。我首先呢,有一个超链接。Exam student OK,然后呢,我希望的就是哎,我一点。
01:05
点完之后另外一个页面把这个信息的显示出来,比方说这样。啊,需求就这么简单。好,下面我们想这个东西如何来进行实现。如何来实现呢?我们想啊,我点一个超链接,我这个超链接呢,实际上是。需求,我们来分析一下实际的过程,超链接可能是这样写的,比方说。List。2EXAM。有点,哎,我希望这个超链接直接连到的是一个。比方说几个名。
02:03
就叫这么写吧,Student。OK,那我超链接要点过来的话,应该是的什么方法呀。这人应该叫什么方法呀?过来应该叫什么方法叫他他。什么请求还是?To Get吧,对吧,因为我抄链接一定是一个get请求,Post请求,只有那个表单里边那个method的写poose的时候才是POS请求,否则都是盖请求。好了,到这个里边之后呢,然后他要干什么,他哎,我们这块我们说呀,我们会有一个DAO。
03:00
这个DA呢?我们前面写过类似的,比方说就叫exam。You。丁兄大家说,那大家想一下啊,我上面那个来的话呢,我需要什么呀,我是不是需要所有的学生信息啊,哎,我要是需要所有学生信息的话,那我我需要需要他什么方法呀。最后学生叫什么方法?是不是返回一个list,然后呢,At,我有这么一个方法。好,言外之意就是我得在这个里边调用这个。方法。这方法的话呢,我们会实现啊好了,那我把这个方法要标完之后的话,大家看。那第一步吧,调用调用exam student eo the bad or。
04:18
方法。返回。学生的例子的对象好了可以返回。他说返回之后呢。完了之后干什么呀,我实际上我这块会有一个页面。你不要那显示吗。这页面是什么页面就是一个JSP,这个JSP我们来看一下。这个GP应该是诶。这个假话叫。比方说the students点。
05:02
比方这个超链接哈,这超链接接哪都无所谓好了,我最终要在这上面干什么呀,显示显示什么,是不是要显示学生这个信息啊,具体要是后边的话,可能还有一个什么呀,是可能是肯定啊,还有一个数据库。哎,这还有一个数据库来看,数据库里边我需要干什么,我需要去查询那些学生信息吧。好了,那我们看看吧,这是第一个是发请求。发请求到这个,然后的话呢。发一个get请求吧,到它,然后调用由服务器调用的。
06:00
Do,方法这时候我们是清楚的,好了,想一想。哎,这是第一个。拜。啊,这是第一个事儿,这个我们是知道的。好了,哎,这样然后的话呢,确实叫外方法了哈,然后怎么样,它先掉了,这里边的这个方法,那这个就是呃,DDP查询就可以了,对我们不做更多的说明,叫什么DDBC查询数据表得到list,这事我们以前是不干过呀,知道吧。
07:00
The,好了,小一点。一下,OK。这个很清楚,那上面这个呢。这很简单,就直接是创建。创建DA对象调用。呃代哦方法,然后返回is这就完了,这一步的话呢,也还好啊,下一步比较麻烦啊,下一步比较麻烦,下一步怎么办呢?下一步的话呢,我如何从我的这个它这个页面。是因为还不算是吧,然后的话呢,我是不是得把这个list整过来啊,不好显示啊,所以说这个干的事很简单,说什么便利。进行。
08:06
显示就可以了,显示一个一个学生信息吧,那好了,那我如何有事到这啊。咋过来呀?二诶,很重要。嗯。这样写旁边。二。那看看吧,那我怎我怎么过去啊。而且我还得把那个什么呀,我还得把那个绿色的带过去吧。好了,我们由SOPI是不是有两种方式啊,一个叫。请求的。情趣请求转发,还有一个叫请求他重定项用哪一个。
09:03
是个问题啊。两个都可以去,那我们想不但让我去,我们还有一件事吧,还有一件事是什么呀,我得把这list带过去吧。好了,我们带。说把一得到的it放入,我们呢,通常是放入到范围小那个预对象里边最小的配置contact吧,放不了,第二个就是request,放入request。嗯,请求于中中什么方法呀?是不断set tribu的,还记得吧?OK,放这边就好了,好了,那我要是放到这个里边的话呢,我过来了,我在这个里边,我还想得到我这块放的这个list会怎么办呢?是九八还是重进项啊,我必须保证。这个request跟这个是一个吧,所以说一定是请求的转发哦。
10:09
到哪呢,到。点DSP就可以了,这就是整个的流程。看着哈,首先呢,这一个超链接,哎,我调了这个方法。到了这个里边,然后再用DAO的这个方法返回一个list,我把这个list放到请求域里边,为什么是请求欲而不是application呢?我们希望这个范围越小越好吧。你要范围大的话,它占的资源也大,因为它是不是老也不掉啊,比方说你放到ipk这里边了,那其他的四位是不是也可以访问到啊,那你越放越多,那不是占资源嘛,所以说我们希望放到一个尽可能小的预对象里边去,然后呢,我们要从这个S到这个JSP,我怎么去,一个是转发,一个是定下,我必须保证在这个页面上边能够得到我request里边放这个属性吧,所以说这里边的二还有一个一类。
11:17
还有一个一来一是什么呢?CTRLXCTRLV。好吧。写哪啊,还有一个。一是得到。这么。嗯。一是得到请求request request中的list,然后再对其进行便利,这就是整个的流程,以后我们写项目都这么写。
12:01
那我就来演示一下吧,看看。用这个也行。好了,写上一个。比方说这个JSP叫T加GSP,好几个超链接看好了啊。A,比方说list or building,当然我这个的话呢,我不具体去连数据库了啊。写完超链接,我这个超链接呢,我去的要是一个新建一个。嗯。他。At硅谷点java.mvc。OK,写一个名,第一个字母大写so。
13:00
It's so late。Next这个edit。写成。啊。那直接覆盖覆盖的就可以了。写完。好了,这个写完之后呢,我们不用去访问数据库啊,我们也没写那个,我们也没写这资金代码,我们只是说这样的一件事。我先得到现在request里边放一个值that和放一个什么呢?比方罗,我也放个student,然后啊,后面这个我写个模拟吧,点S放几个,我放的是啥呀。我发的是一个一个字符串,比方说AA。BBDC放好了,然后我说我利用。转发的方式,去那个页面看着request.at request,我去的是students.jsp,然后点forward request response写完好了,我确实是写这么一个JSPCTRLC过来。
14:21
创建一个JSP,写上。我这个JSP呀,怎么样,JSP是不是用这个service转发过来的呀,所以说它跟这是一个请求吧,转发吗?一个请求,那么我在这个里边我就可以得到。这么写吧,request.get attribute,刚才叫属性名。OK,我跑一下可能跑起来。但。
15:04
是不是有了,这就是整个的流程,那同学老师你这块你遍历,你怎么遍历啊,遍历的方式目前我没学GTL哈,我就直接使用最原始的方式代码呗,List来看string,比方说name等于request的点,Get attribute students,然后。进行一个。枪战。那怎么办呢?一个一个进行遍历for循环,比方说string name name,然后怎么办?一个一个显示呗。怎么显示啊?终于可以了呀。再看。啊。
16:01
边儿。第。好了,这是我们最简单的一个MVC设计模式的一个模型。看看啊看看。发请求到这是什么网请求域里边放一个属性,通过转发的方式去页面,然后呢,我们保证这个页面和这个S是同一个request,因为转发是一个请求嘛,所以说在这个里面我可以获取到请求的属性。把这个属性获取到进行显示就可以了,如同来看它跟我们刚才讲那个模型是。一样的,那这块复杂的地方在哪呢?大家需要去访问数据库,大家需要去建一个Java版student,然后呢,你把那个。
17:08
Student放到一个list里边,放到这个里边来,那你给的话你怎么办呢。KD的时候,我们可能得这么写,我写大家看一眼哈,我来创建一个。Student。F2。哎。这里边的话呢,可能有有一些属性,比方说private类型的ID形状不能等吧。啊,一个一个写,然后呢,我们这块得到的可能是什么呢?得到的可能是。是什么呢,你他这个。
18:04
U等等于比方说request点比方说啊,哎,当然现在这个不是。进行一个强转。那怎么变利啊,是不跟这个一样啊,但是你得是student的点,然后把那个属性一个一个点出来吧,显示的方式是一样的,好了,需求呢说清楚了,大家需要做的是把这个使用MVC设计模式给他写完,一起来完成一下,那么我们现在这个写法的话呢,就直接现在的写法的话呢,我们就也也不讲究什么这个Tao。Dau接口啊,什么jpp CU u求啊,我们都不讲,包括也不用我们前面学过的那个DPU,我们就直接获取一个链接给它获取出来,然后的话呢,后边我们那个综合案例会把前边讲的几乎所有的东西都过一遍,所以说这块的话呢,暂时这也是一个模拟嘛,来test这个就这样。
19:24
一步一步看啊,我通过超链接发的请求是不是请求啊。我找到web INF web XL到这个里边,你看我定义了一个直接连到这稿调用do盖的方法。好了,然后呢,一定我们还是需要去写一个DAO。这个电写一个类哈。Student feel。好,AO里边有一个方法。
20:08
Get获取全部先。然后呢,这个student必须跟数据库的字段是一一对应的。第一个叫ID。ID。Hi。In time create string ID。Private exam。
21:00
Privilege student student name。Private location。Freeway。In型的好,对应的get that。方法。哎,为了更方便初始化的话呢,我们可以写一个代餐的扩照器,由于需要反射,所以说必须写一个无参的后照器。写完写完之后,DAO里边写出来,DA里边的话呢,我们暂时直接获取链接。Connection。等于now,然后是prepared statement等于now,然后是在。
22:05
等于now try catch。欢迎,OK,这里边的话呢,我把这个打印一下。如果不的话,我就关闭整个。使用一个package。嗯。CTRLDCRL复制CTRLCCTRLVCTRLV,这应该叫。AR statement。这个叫。写完三个123没问题啊,再过来你一可以。
23:05
等于driver manager点,当然还需要一个的driver class等于。看买so的KVC的。Java。论,的URL等于。BBC买A硅故的。就等于。我的是再来的一,还有什么pass.four吧。
24:01
好了,到之后呢,我们直接去搞一个circle,等于ID five。It hard exam。嗯。Student name student name location。From。Exam students。对对,没有S号。不是全部嘛。好,得到pre statement等于点statement circle没有占位符,直接得result是我一个。
25:12
等于六,然后返回的是这个。Students。行,带过来。Well。Result set.next吧,获取一个一个的值in flow ID等于result set.in1。Inch。等于get it再来。ID car等于result.at spring3 exam car等于result.S4。
26:15
Student name等于that.at5。的。六还有一个in great等于点到set.get7放建一个student。等于六六是代餐那个是吧。写完之后呢,把这个放到那个放到那什么里边吧,里边吧,是吧,点I的。
27:03
Student,哎,我们知道。我这么写是不是很麻烦呢?你想想用那个BP是不是简单的多呀?好,这写完之后的话呢,再回到我的这个里边来,于是首先创建student等于new student,然后呢,得到list student。等于student do.cat好,然后放request里边去。然后进行页面的转发。根目录下的students.dsp点。完了好了,Students里边获取这个students后来在。
28:03
这里。就是这个吗?很便利啊。汇到这个之后我们要进行便利。后来。放在一个。黑里面。第二。TH。有ID。T。128。Car ID。你在吗?
29:00
ID。错了,ID card是吧?ID card exam card。有你下一个呢?Law。根再加一个对,写完好了,有多少行啊,有多少行数不一定啊,比是什么是不取决我们这个集合呀或循环。多少行也不知道。有多少行,是不是取决于什么呀,是不是取决于我这个集合呀。集合有多少条记录就有多少,行吧。然后。
30:01
一行是T。西港。TD填写一个咋写?点that ID这一个吧,好了再来第二个是。Five。第三个是ID。在场。Student name。Location。这就写完了。看一看,这里边儿是。
31:01
呃,四条记录跑一下。问题了,怕什么呀,都差分数驱动呢,然后驱动把驱动拷进来。买circle。The。都有了,这不就是这些信息吗?然后的话,你要打上一个格的话也可以,这样的话呢,我们这个操作就写完了,这就是获取全部的信息。整个就是一个MVC设计模式,大家需要看这个流程呢,就是怎么样,就是把请求发到了survey,然后。
32:05
啊,获取到这个结果,把这个结果放到请求域里面,通过请求转发至页面,在页面里面。在。请求域里面再获取到这个属性,把这个属性处理一下就可以了。好OK,刚才没写完的话呢,自己把这个写完。
我来说两句