00:00
啊呃,我们把前一天讲的内容给大家简单的回顾一下,呃,那么我们主要呢,呃是围绕着一个登录功能啊来去给大家去讲解的啊呃,那么在这个到目前为止啊,我们都讲了哪些内容呢?给大家来梳理一下啊,都跟上我来看了啊呃,那么首先呃,像这个整个Java web的这个技术体系呢,呃,现在我们就先不用再去看了,等我们最后啊,把这个Java web学完了以后呢,我们到时候再回头呢,再把这个图去看一看,到时候大家就就能什么都看不懂了啊现在暂时我们就不需要看它了,呃那么我们讲的第一个话题呢,就是呃前端啊,我们相关的一些技术,比如说像我们讲过的HTML啊,然后在这个HTML里面呢,给大家去讲了一些,呃常用的标记啊,就是怎么去写一个HTML页面,然后呢啊,它里面常用的标记都有哪些啊,给大家去简单的说了一下,然后顺带着呢,我们又把这个。
01:00
啊,CSS啊,就是我们的表现啊,也叫做样式,就是用来修饰我们的页面的啊,把我们这个页面的做的更加的好看一点,给大家去讲一下这个样式啊,那么这个样式呢,我们主要是讲了它常用的一些样式啊,比如说设置一些什么宽高对吧?啊背景色啊,这个边框等等一些以及给大家去讲了。三个吧啊,这是我们的选择器,第一个呢,就是我们的元素选择器,第二个呢,就是我们的ID选择器,第三个就是我们的类选择器是吧?这是我们给大家讲过的啊,OK,呃,然后把这个讲完以后呢,我们就可以啊呃,把我们这个登录页面啊给大家开发出来了,OK,然后接下来呢,我们又给大家去讲了一下,在这个Java web阶段学习的话,我们需要用到的一些环境啊,比如说第一个就是我们的web服务器,也就是我们给大家去用过的这个tomcat啊,对于这个tomca来讲,大家呢,首先要学会的就是怎么去把这个tomcat给它安装啊,就是安装到你的这个计算机中,其实特别简单啊,它都是一个免安装的,你直接把它解压出来就可以去使用的啊,另外一个我们需要知道tomca里面它的一个目录结构啊,这个东西呢,大家需要对它有一个了解,就是将来如果说你想去找一些东西,或者说你要去修改一些配置的时候,那么你。
02:24
要知道你要去你到哪个目录里面去找啊,这个大家必须要知道,另外一个呢,就是我们得知道怎么把我们的tomcat集成到我们的ecl的这个开发工具里面啊,就是这个话题怎么把它配置进来,呃,因为我们将来再去使用这个to k的话,我们主要都是呃基于这个开发工具来去使用的,像我们这个eclipse啊,或者说呢,后期呢,大家可能会用到这个ideal啊等等一些都是一个开发工具,那么我们都是把这个他CA呢,给它配置到我们的eclips里面来去使用的啊,大家这个要学会明白了吧,诶学会怎么把它配置进来,然后呢,呃,怎么启动tomca,怎么关闭他MTD啊,这些东西的话,都是基本的一些操作,下一个环境呢,就是我们的动态的外部工程,那么其实上这个工程的话呢,大家应该都知道是什么意思啊,我们也不需要过多的解释,但是呢,现在我们用的叫做动态的外部工程,它跟我们普通的那个Java工程还是有区别的,在我们Java web阶段。
03:24
那我们就必须要去使用这种动态的外部工程啊,那么我们在创建这个工程的时候呢,我们主要是给大家去说了一下,我们需要注意的两个地方,一个呢,就是我们必须要去指定一个插电的装向,就是我们的运行环境啊,说白了就是指定谁啊,哎,就是指定我们的汤开是吧,对吧?诶因为将来是他CA来帮我们去提供啊,你这个solid相关的一些什么运行环境的,另外一个呢,我们暂时用的是这个2.5的这个外部版本啊,这个的话大家就使用2.5就可以了,等你把这个2.5使用的特别明特别这个呃熟悉了以后呢,你也可以去尝试着用一下那个3.0啊,3.0的话其实就是呃,他在这个2.5的基础之上呢,支持我们去使用这个注解来进行开发啊,那么这个对于注解的话呢,就是我们必须得先知道使用这个XM的这种方式怎么开发,然后呢,你才可以再去使用这个注解。所以说呢,我们在。
04:24
学习阶段的话呢,我们就诶主要是基于这个2.5来去给大家讲解的,OK,呃,那么就是在创战的时候需要注意的问题,呃,另外一个呢,就是呃,创建的时候它有这样的一个选项啊,就是这个地方的值呢,我们就不要去改了啊,这个地方的值呢,我们就不要去改了,然后呢,一会儿我们会遇到一个问题啊,就是这个地方的值与它是有关的,我再给大家去解释一下,暂时的话呢,我说它你也不知道是什么意思,另外一个呢,就是必须得帮我们去生成一个外部的插表,然后这个文件呢,我在讲课的过程中也重点强调过了,对吧,我说它是特别重要的一个文件,如果说你没有这个文件了,那么基本上你的外部工程也就废了,理解了吧,啊,其实大家也能感受到,像我们写的一些什么solid,它将来都需要在我们的外部的材料中进行配置的,还记得那个配置吧,OK啊,我们需要进行配置的,好,呃,那我们把这个工程都创建好了以后呢,我们就可以啊。
05:24
围绕着我们的一个登录功能啊来去学习了,那么首先呢,我们遇到的是一个solid这样的一个话题,对于这个solid来讲的话呢,我们需要知道它的一些基本的概念,首先它是一个什么,它其实就是一个技术标准啊,是由我们上公司来制定好的一个技术标准,然后呢,它包含了一系列的接口,主要呢,就是对我们这个web应用啊,去定义一些什么宏观的一些解决方案啊,然后呢,具体的你要怎么去实现呢?它是有我们不同的这个solid容器,说白了就是我们的外部服务器啊,那么具体一点的话呢,就是我们的tomca是由他们来帮你提供的这个具体的标准,因此我们再去写这个so的时候,我们主要是基于我们tomca的一个实现来去做的,大家应该都还记得我们在写这个sal的时候,我们继承了一个http sal还记得吧,然后呢,我还带着你们去看了一下。
06:24
这个家伙是来自哪的?是不是在我们的汤cat里面有个家包吧,家包里面是不是有他呀,对吧?好,那么从这个方面呢,也就能说明了MKT确实是对我们这个solid这个标准的一个实现,那么我们在写的时候呢,我们就要基于我们的Tom k啊来去开发,那么由此的话,大家也应该要猜到,假如说我使用了别的这个服务器了,那么可能我们开发起来的话,这个代码是不是就不一样了呀,对不对啊,因为不同的服务器啊,不同的这个外部容器呢,它对这个呃solid的实现呢,肯定是有一些差异的,明白了吧,但是呢,这些东西呢,大家也不要再去呃关心了,是吧,我们最常用的就是Tom PA,能明白了吧?啊,你只要把这个Tom pad怎么去使用,怎么去开发我们的solid,学会了就可以了。
07:17
OK,呃,对于这个solve来讲,我们只需要去继承一个http solve,然后呢,去重写它里面的方法,也就是我们这个相关的方法,我们总共找到了几个,大家还记得吗?三个方法对不对?一个是do get,一个是do post,另外一个呢,Service OK,好,那我来问大家啊,Do盖是干嘛的来处理你的get的请求的,对吧?Do post呢,好,处理我们的do post请求,那么这个service方法是干嘛的?哎,它在这个负类里面,就是在我们的http solve里面啊,大家回想一下,我带着你们去读了它的这个源代码是吧?在他的这个方法里面呢,它会根据你当前的这个请求方式,然后呢,去调用你对应的do get或者是do post的方法,能明白吧?所以说呢,相当于这个service方法呢,就是,哎,对他们这两个方法呢,进行一个。
08:17
什么调用,那么从我们这个自己实现的这个角度来讲的话,我就可以重写do get,或者是do post,那么将来副类里面的这个service去调用do get do post的时候,那么就会调到我们重写以后的吧。是不是这个样子的,OK,或者说呢,我直接就把你负类里面的3Y次方法给你重写了,是不是也是一样的道理。那么这样的话呢,就是将来请求来了以后呢,他就不再去使用负类的方法,而是使用我子类的一个service方法,那么这样的话,你只需要在你的service方法里面去把你的业务的实现写出来就可以了,你也不用再去区分什么get或者是post了,两种方式是不是都可以了,对吧?我们呃,第一天讲的时候呢,我们用的是do get或者是这个do post,那么今天的话呢,我们就可以尝试着去使用一下这个service,把这两种方式呢,都给大家去用一下,演示一遍,但是呢,原理你必须得知道,为什么能这么去做,这个大家现在能明白了吗?能明白为什么能这么做吧,哎,因为就是他们这个方法之间呢,有一个关系,就是service呢,会去调用到他们两个,那么对于我们重写来讲的话,你既可以重写他们两个,我也可以重写我的service方法,听明白了吧,OK,好,这是它这个相关的方法啊,那么当我们把这个S开发完成以后呢。
09:39
我们还需要在这个外部点插秒中进行什么呀?哎,进行一个配置,OK,怎么配呢?其实就是一个solve little节点,再结合上一个solve mapping节点,那么我们在讲课的过程中呢,给大家说了,这是配了一个什么东西啊,或者说这个配置的目的是什么呢?啊好,大家来想啊,我是这么来给大家解释的,就是将来客户端呢,它会有各种各样的请求,对吧?比如说登录的,注册的,删除的,添加的,修改的请求是特别多的,而我后台的话呢,只要你有一个请求,那么基本上都要去对应一个solve来帮你去处理这个请求吧。
10:23
能明白这个意思吧,OK,那么大家就在想,你客户端呢有N个请求,我后台呢有N个solve,那么这N与N之间呢,它必须得有一个一一对应的关系,那么怎么去实现这个一一对应的关系呢?我们就需要通过这个配置呢,来帮帮他们做一个映射啊,就是你是什么请求的,那么你就要映射到我的什么solid上面。对不对啊,OK,那它是怎么完成的这个映射呢?我们来看主要呢,是通过一个URL拍,比如说哎,我的这个URL拍说白了就是一个请求了,那么假如说将来你的客户端发送的是这样的一个请求,好,那么你就能跟我的这个solid麦里面的URL pattern匹配上,匹配上以后呢,他通过这个URL pattern找到它这个节点里面的login solid,就是这个solid name这个值能明白吧,再拿上这个值呢,到你的solid节点里面啊,到solid节点里面去找一个solid name与它是一样的,那么它是不是找到这个东西了,找到它以后呢?诶,那么就是说顺带的在这个solid节点里面,我就能找到一个solid class。
11:34
理解吧,那么在找到这个solid class以后,你看我们拿到了这个全类名以后,那么其实我们就可以通过什么呀,通过我们反射的这种方式,是不是就可以把这个对象给它创建出来了,对吧?那么这个过程呢,就是我们底层他CAD帮我们去做的了,他CAD把这个对象创建出来以后呢,进而再去调用我们写好的,比如说do get do post,或者是你的service方法,那么这样的话呢,你的客户端的一个请求,其实相当于就直接映射到我们的一个solid,最终呢,我也就能找到你具体写的那个业务处理逻辑了,能明白这个意思了吧,所以说呢,这个整个的这个流程呢,大家在脑袋里面必须得很清楚,我请求来了以后,它是怎么进行处理的,明白这个意思了吧,OK,本身呢,它也比较简单啊,大家呢,只需要能按照我刚才给大家去说的这个,你能自己把它分析出来,那么说明你对它是已经掌握了啊。
12:34
OK,呃,那么这是我们讲的这个solid,呃,接下来我们又说到了这个获取请求参数值啊,比如说我们怎么去处理你这个请求的,请求来了以后呢,那么基本上我都要去拿到一些请求的参数,然后呢,再进行一些什么业务的处理啊,那么我们提到了两个对象,一个是request,用于处理啊请求的,然后当你处理完成以后呢,你还得给客户端一个结果,那么我们又提到了一个response对象,用于处理啊响应的啊那么这两个对象的使用的话呢,暂时的话我们都是用了一些基本的功能,比如说怎么获取请求参数,有一个get parameter还记得吧,OK,通过它来获取啊,然后呢,怎么去响应我们的结果,就是通过我们的response呢?啊,我们获取一个输出流,把一些数据呢,给它写出去,对不对,然后呢,我们在呃快结束的时候呢,还给大家去说了一个重钉上,还记不记得,那么这个重叠上是不是也是通过这个response来去做的,对吧,因为什么呀,你我们说的。
13:34
这是一个重立上的话题,其实呢,就是一个response给这个浏览器端写了一个什么东西啊,写了一个什么302状态码,又加上了一个什么地址啊,对不对,只不过这些东西呢,就是他这个HTTP协议里面提前就已经约定好的,假如说浏览器看到了302,那么他就会立马朝着这个地址呢,去发送一个请求,能明白这个意思吧,所以说呢,这个整个的这个东西呢,我们把它叫成了一个什么重叠上了,嗯,理解这个意思吧,啊,所以大家要记清楚了,从地上呢,是由我们的response这个对象来去完成的,OK啊呃,那么我们结合上这些技术的话呢,我们其实就已经可以啊完成我们最基本的一个登录功能了啊,你在客户端输入你的这个用户名和密码,然后呢,在我的后台呢,在我的solid里面呢,去做一个处理啊,处理完成以后呢,我根据你的这个结果呢,给你响应登录失败,还是这个登录成功,明白了吧。
14:34
如果说我们想做的更好一点,那我还可以什么呀,再回到你的一个这个登录页面,比如说你登录失败了,我让你再回去,那么回去的话呢,我们第一次是怎么做的,哎,就是把这个整个页面是不是给他写回去啊是吧?哎,就是你们感觉特别爽的那个过程啊,就是这个东西把这个整个页面给大家写回去,那么我们把这个做完以后呢,发现诶其实功能是可以实现的,但是呢,我们分析了一下它的这个问题,就是你这么做的话呢,太麻烦了,对不对,如果对于一个很复杂的页面来讲,如果你每次都这么做,那是相当费事的,OK,所以说呢,最后呢,就给大家去说了一下,我们其实可以结合上一个重递上的方式呢,让他去往这个页面,但是呢,用了重递上以后呢,我们那个页面中的错误提示就实现不了了,还记得吧,OK,这个问题的话,是我们今天要去给大家解决的啊啊,那么大家呢,现在只需要知道的就是怎么能去往一。
15:34
啊,怎么再回到那个登录页面对吧,就是通过我们的一个重递上啊来回去。OK呃,那其实这些呢,就是我们第一天给大家去啊讲过的这个内容啊,这个不说啊,可能大家呢,也不知道有这么多是吧,一说的话,其实这个东西是不是还是挺多的啊,对不对啊,但是呢,他这个知识点比较多,但是实际上我们在用的时候呢,可能也考虑不了那么多,就是把我们能实现我这个业务功能的一些技术知识点,我们用到了就行了。
16:06
好吧,OK,大家还有没有什么问题啊,没有吧,啊,默认就是没有了是吧,OK。
我来说两句