00:01
再来现在呢,我这个项目反正我刚刚已经复制了。大家帮我来看一下啊,我来画个图,同学们帮我一起来看一下。我们当前这个系统啊。我们看一下它的一个结构。这是我们的客户端。这是我的服务阶段。这是我的服务器的。再来。在我的服务器端内部有很多的set组件。我把它来画一下。我们有index。我们把它画在这。Index。那么用户呢,会发请求,请求index。
01:02
发请求,请求他。没问题。那么它会去调用后面的DA组件,我把它给画大一点啊。啊,差不多啊行,反正就差不多意思一下吧,就这样。把它拷贝下来。然后把这个再剪切一下。我们的index,再去访问后面的DA组件。啊,后面我们会有个do组件。我们把它画到这。我们称之为叫福。DA行吗?同学们,我就不写什么IPO,就不写什么best do了,就这样。
02:03
外面是我们的,外面是我们的数据库。这个地方是数据库。我们称为叫低饼。那么。一个请求访问index。Index会访问它。然后呢,他会去访问我们的数据库。那么从数据库,比如说查询的这个数据。啊,利用它里面的方法。得到数据。得到数据之后,我们再返回。啊,再反馈我们的index。然后index再把这个结果,哎,比如说通过time进行渲染,然后再响应我们的客户端。这个这个响应的过程我就不画了,好,这是第一个。第二个。我们发请求,我们用户点超链接,点首页面上的超链接。我们有一个添加,那用户客户端就能看到添加的页面了,然后我们在添加的那个表单里面输入数据。
03:06
最后我们点击提交按钮,是不是我们又会给ad法又发了一个请求。是吧,同学们。所以我们这边还有一个ad。ADB。来。给他发请求。同样的道理。我们在首页面上,在index.htm页面上,首页面上我们有个删除的按钮,那个删除的按钮。又会给我们的delete发请求。D。Set发请求。我们在首页面上,我们一个一个的库存列列表,它有超链接啊,一个一个的库存的这个记录,它有超链接,我们点击这个超链接能够查看到它的详情是吧。所以它使用的是edit。然后呢,我们看到ad的点H面这个页面,我现在我现在在给大家描述,大家应该能能想象的出来啊。
04:06
如果想象不出来,说明这个代码这个练的不熟啊。我们在A的页面上。我们去可以去修改他的一些信息,最后点击修改这个按钮,是不是会提交给update。Update。就这样的。所以说我们的客户端会给index发请求,给APP发请求。他会给我们的。类的发情球。他会给我们的A的发请求。哎,他也会给我们的update发请求。说实话,这么一种方式我认为是比较乱的。我们当前项目当中。12345。大家要知道仅当前我们仅仅是操作了一个flu。如果我们系统当中的。信息比较多,有关于订单的,有关于购物车的,有关于用户的,有关于某一次活动的,有关于商品的,那大家想想这个应该会非常非常多吧。
05:08
所以呢,我认为我们可以。对S,我们可以去做一些优化。我下面的想法,我想把它做成什么形式呢?咱们一起来把它看一下。我先把它保存下来啊。放到这儿。MVC01。我现在还没有给大家解释什么叫MVC啊,不着急,没有关系的啊,我先写这个名字,先写这个名字。我现在想把它变成一个什么样的形式呢?同学们,我想把它变成这个样子。这是我们的客户端。这是我们的服务器端。后面是我的数据库啊,数据库这块我们就可以不画了啊,DADA这一层我也可以暂时先不画。我们一个请求过来的时候。一个请求过来的时候。
06:03
我的想法是,我只有一个。我只有一个sweat。这个就叫flu。他就叫俘虏斯。那么它会对应的,它会有一个service方法,或者是do get方法,Do post方法都可以。设备方法进行服务。OK,就这样吧。然后呢?他的这个方法。这个service方法内部,我这个flu内部我会有N多个小的方法。比如说。添加的方法。删除的方法。更新的方法。比如说还有这个查询的方法,比如说还有显示首页的这么一个小方法。
07:03
我在service方法内部,根据你发过来的这个请求。我会去调用不同的方法。会去定不同的方法。就这样的。下面我们进来把这个结构一起来做一下。那行啊。注意看,注意看我的变化,这个当中我来新建一个叫flu。我就新建了一个叫flu继承。View best,这没什么好说的。然后这个上面注意看web。比如说这边我统一的叫float点度进行处理行吗?我这个U2L叫float点度。然后在这个里面我就出现一个service方法就可以了。或者是多,当然你可以重写do盖的都不都可以的啊,没问题的。
08:06
Request。Response,行啊,这个service方法叫服务方法,我就把它写好了。注意看啊,注意看。Index index。从这边。到这边。Can you see。好,我把它放在这。然后这个方法。这个方法我把它改成profit。的。我就叫index。我就把这个方法改成叫index。然后好,我这里面用的是O是吧。然后看好了啊,同学们。我在这边做什么事情呢?这个设置编码稍等一下啊,设置编码这句话我就放在这里面了,放在service方法里面了,行吗?同学们。
09:00
然后开始操作。注意看。Request。点get parameter op operate和刚才那个op一样,没,没啥关系啊。和这个半毛钱关系都没有,我定义那个叫operate行吗?然后子俊。Operate。我们这边做个判断。If operate。啊,衣服。String u。Is empty opera,哦,如果你是空的。如果你是空的,Op等于index,附个默认值叫index。行。注意看啊,注意看。Switch。Operator。Case。Effect。好。Index。就这样子。我就变成了Switch case的格式,这个index方法我就把它拿进来了。
10:00
这个index方法拿进来之后,这个index。我就可以把它删掉了。再来添加,咱们就按顺序一个个来,这是添加。添加的这个方法,从这到这CTRLC回到这里面来,我再写个方法。这个方法叫private。Void叫ad。Private void的地方吧。哎,这边一个do它没有,因为咱们之前是成员变量是吧,因此这玩意剪切。把它放到这里面去,把它变成乘以变量,可不可以啊?可以的啊。好,这个方法叫ad。Case。ED。Break养成一个好的习惯,Case写完之后,我立即把break补上去。A request response。就是这样的。这样我就把ad这个方法,我也把它拿进来了再来。
11:03
再往下走,所以这个A的方法。我也把它删掉。再往下一个叠类的方法。从这到这,Can you see。再回到这边来。站起来。Private。Void。Delete。好,然后回到这边来开始。Delete。Delete request response。那行吧,这个就把它删掉吧。A的一样的。从这到这,CTRLC。回到这边来。Edit。好,我们先写个ad的方法,回到这边。
12:01
Private VO edit。然后。I request response。所以这玩意儿把它删掉。从这。到这CTRLC再回到这面来。Private。好的。Update。再补一个。Cash update。那同学们。看一下啊,Update request response,那同学们大家想一想。我们的维级开这个结构,现在是不是所有的焦点全部转移到这个opera的这个值上面去了。Opera的值不一样,我们调用的方法就不一样。好,这个update也把它删掉,不要。现在呢,我们回到首页面上去。回到index页面上去,我们一点一点来看。
13:00
比如说。比如说我们这个TR当中,我们会有一个超链接。我们来看一下啊。这边A标签一个超链接,我们以前是不是发给A的点度的。现在大家想一想,我应该怎么去发请求?我肯定要发给。是不是?然后fid是不是等于一个值。然后再来。再来。逗号。Operate是不是要等一个值?看到了吗?Operate就等于ad,这个ad的有问题吗?加单引号,好像单引号还不能加单引,好像加双引号啊。我先这样吧,我什么都不加,我就直接写个A级的,我们看看行不行啊。感觉好像有点小问题。我把这个改成单引号。把外层的改成单引号。我把这个改成双引号。
14:01
行吧,同学们。啊,就变成这样的形式。嗯,他这个ad总是报错是吧,看到的resolved我哪里写的不对吗?同学们,这是一个值,这是一个值对的呀。是吧?两个值嘛,没有问题啊。哦,你说这包子没了是吧?啊,现在应该没问题。不过没有关系啊,这种问题你可以先不加双引号,你可以先试试。也可以先不加双引号试试啊。那行吧,就这样子。那这样的话,我发个体就给flu点读,那就会被我们这个flu是不是简难截了,因为它是float点读,然后我们是不是要获取oper的值啊。获取到operate值是不是获取到我们是等于A,那么等于A是不是走的是Switch case走的应该就是这个。走的这个是不是就会调用我们的ad的方法呀。
15:01
就是这样。这是第一个。再往下走。这个小图标是不是删除啊。删除我们执行的是不是delete flu这个方法,那么delete flu这个方法还写在JS文件里面,打开它。也就是这个方法。这个方法里面我们写的是d delete的点读,我们把它改成弗float点读是吧?然后问号fid等于一个值。再加上。啊,再加一个值。并且。等于delete。没错吧?我们把把它值把它加进去。并且delete。那这样的话,我们opera值就能接收到delete,然后我们就会调用这个方法,那么调用这个方法它会给我再跳转到index页面上去。那这边我们需要把它换一下,为什么。为什么同学们?这个是重定向,我们以前是不是我们的URL写的是杠index啊。
16:05
现在不行了,现在是不是要换成辅助点度啊。没错吧,现在我们要换成浮点度。然后就用index方法吗。所以把它改一下。再回到首页面上去,这是删除。我们把下面四个看一下,这边我们用的是page。所以我们看一下配置这个方法。配置的方法里面,我们以前写的是index,现在我们得写什么?点。没错吧,我们需要写一下点读。辅助点度,那么page number等于一个值,我们会把page number把它带过去,那么我们是不是没有带oper的这个值啊,那没有带默认是不是就是去找index方法呀?哎,所以这个也能说得通,没问题。再往下走。我们这边有个窗链接。
17:00
所以我们就要去找一下add.htm页面。那这个form表单这边我们需要把它改一下。我们是不是需要改成float的点度啊?好,这边我不知道为什么之前写的不对是吧,我这边是ti情报号,应该来说是这么来写。是不是同学们?啊,我们得这么来写,不知道上一次这个昨天是吧,昨天不知道为什么会不行啊,好奇怪。现在我们就把它改过来吧,叫福禄点读,那请问一下这边要不要加什么东西。嗯,要不要加什么。要的吧,行,Input。Type either。Operate value。一。没错吧,同学们,Y等于AB。行。再往下走,这是添加,所以我们找到添加的方法。A的这个方法。
18:00
那么这个方法操作完之后,以前是重定向的index那个所对应的,现在我们得把它改成点读。再来。我们在index页面上,我们刚刚说点超链接跑到A的页面的。在A的页面上,我们也有个分母表单,我们之前写的是。斜杠阿布的点度,现在我们得换成F点度。然后我们需要个隐藏域。Named operate。Y的值等于update,没错吧,得把这个加进来。那么我们,所以我们就回到阿的方法。再找update。Update在上面。这个方法操作完之后一样的,我们这边把它换掉葫芦顶度是吧,把它改成辅禄顶度。
19:02
这是我们的A和update。还有什么地方需要改的吗?这个form表单我们是不是要把它改一下?我们之前是发给斜杠index的吗?现在我们要发给谁哦?点读。没错吧,要把它发给福点都行。好像改完了。点读我们来查一下index方法啊,Index方法的最后,Index方法最后他应该是通过process。L index,那这个应该没问题。同学们,再让我检查一遍啊。好,辅助点读改过来了。这边是A的没问题,这边是没问题。行,差不多。好,就这样子。那么我可以在这边补一个default。Default就表示你不符合上面的这个这些情况吗?
20:02
思路。New runtime。Exception。Opera值。啊,就加那句话,是不是抛出一个运行时的异常啊。对吧,这是runtime是不是运行时异常啊。也就是说我正常的opera这个字符串的值应该就是这些值嘛。我们这是我们正常的流程,如果别人恶意的把这个oper在在地址栏拼接嘛,他拼接不同其他的字符串嘛,那就是非法的,那我们就要抛一个运行时的异常,当然这边其实在抛运行的异常,我们也可以跳转的一个专门写一个error页面。专门的写一个error.htm页面。只要你不符合这个情况,我就直接跳转,跳转到error.htm页面上去。是不是也可以啊?啊,也没有问题,那行吧,咱们这边就简单的抛一下。好,那这边抛异常,那语法上要求这个break就执行不到了,是不是就删掉,因为已经抛异常了。
21:05
行,我们来试一试,看我们这个改动行不行。这样改动的好处是不是我们的数量就减少为一个了?哎,没错吧,同学们。我们把它关掉。下面我们一起来看一下。把这个删掉,我们现在用的是1.8这个。啊,就是它。幺三。应用。回到这边来。PROJECT13,那我们这边就不能写index,我们得写哎,点do是吧,同学们得选它好redeploy。Update。应用。好,点击OK再启动。我们来试一下啊,看看行不行。Index。
22:03
A。Delete。Update。好,就这样保存一下。哎呀,这个页面有问题,同学们。哎,这个错误给大家说一下。呃,这个页面上我们有一部分HTML显示正常的,但是你看这。后面就不正常了。那就说明什么?说明这个time的语法有问题。行吧,同学们,就说明time内的语法有问题,Time内什么语法有问题,你看这个T2这个表头这一行是不是显示正常的,然后是不是在第一个单元格显示有问题了。能听懂我意思吗?第一个单元格显示有问题了,所以我们要去检查一下第一个单元格,这样的情况请大家一定要看一下控制台,看一下我们通盖的那个日志的选项卡。
23:03
回到这边来。这边好像没报错。别着急,看一下这个选项卡。这边是不是报错了,那这些大部分我们都看不懂,但是有个地方我们是能看得懂的。在这儿就是我们刚才加双引号的地方。你看这。是不是could not pass?As,他说不能把它不能去解析,不能去解析这个表达式。啊,这边有问题了。那我们刚刚加的不就是这玩意儿吗。那我们进来看一下到底是什么问题?找一下time live。回到这,然后我们来看一下叫。叫。表达式语法稍等一下啊,哎,就这个叫解析URL地址,我们来看一下啊。
24:01
稍等一下。好在这儿。就这个值。哎,我们有个值小括号。一个名字等于一个值,然后逗号一个名字等于一个值,是不是个单引号的问题啊。我们来试一下。好,再回到这个页面。来看一下啊。这个地方吧,同学们。这改成双引号。把它改成双引号。就改成单引号。是吧,就这样子,我们再来试一下。好,那么我把我把这个名称一,我把这个数字一删掉。如果他能。不显示一,那就说明是更新过来的,没没问题吧。试试啊。回到这刷一下。哎,是不是可以了,这样就没有问题了,那说明你还不能轻易的用单引号双引号这个问题啊,必须得用单引号。
25:07
下一页。下一页我们总共四页,没错吧,哎是对的,没有问题的,那我们根据关键字查询果应该是查询到两页,第一页第二页,哎,也没问题吧,哎就这样。好,可以把它删掉,再点查询也没问题。那行,我们添加一个试试。名称。比如说我们加一个叫萝卜2021。五块。55。我加一个尖椒。又出了问题了。是吧,同学们。哎,是不是这个问题,我我真的好郁闷啊。是不是还是这个电的问题啊。这个TH冒号action,大括号fruit点度这个。真的是?注释掉。
26:02
拷贝出来。Cant you CT you。然后。TH冒号X把它去掉,然后这个艾大括号去掉。直接写辅助点读是吧。啊,这个我我不知道啊,这个到底是到底是啥情况啊啊。来新增库存,把这个数字二删掉。刷一下。后退一下。刷新新增库存信息。新增库存信息应该没问题啊。萝卜2021555OK。哎,现在是不是也可以了,这个地方大家帮我去看一下吧,啊,这个线法我是没有问题的啊,不知道为什么不行啊。行,现在我们已经加进去了,五一可以的吧,没有问题再点一个。把它改成六块。点击修改。好,再来看一下,没问题吧,也是可以的,然后我们也可以把它删掉,删除一个。
27:02
也是可以的。那现在我们做做的主要的功能,其实其实代码我们其实没有新增多少,我们就写了一个select,把之前的代码全部转移到这里面去了嘛。转移变成一个一个的方法嘛,然后我们通过一个Switch case是吧,把它进行了一个管理。那同学们,这样我们管理的好处,再回到这个图。已经有五个,现在我们是不是合并成一个了?那大家想想,如果订单和订单相关的以前就有五六个,现在是不是也会只有一个?和用户相关的斯以前有五六个,现在也会只有一个,那斯数量是不是就减,减少为以前的20%或者15%大大的缩减吗?是吧,同学们就是这样。好,这是我们当前的这个改动。
我来说两句