00:00
我们来学习Java外吧,首先的话呢,看SOSO,我们分为呃两个大的课时来讲啊,先看第一课时。首先看Java吧。什么是外在?Sun的官方里边呢,是这样定义的,说Java web是由一组HTML页面类以及其他可以被绑定的资源构成,他们可以在各种供应商提供的实现设规范的设备容器中运行,这就是JA外,这里边有一些新词哈,比方说so,还有一个词叫so容器,这两个的话呢,我们要来说一下。就是运行在服务器上的Java类,搜类的本质上就是一个Java类,回头的话呢,我们我们会看到我们可以像写Java类一样去写一个serve类的,只不过我们需要去实现一些特殊的接口,然后呢,它是运行在一个呃service容器里边,这个service容器就是我们一会要讲的,比方说他看就是或者是呃service服务器。
01:26
加外B可以包含以下内容,比方说JSP类静态的文档,像什么TST啊,HTML啊,图片啊,还有一个web描述的应用信,呃,不描述web应web应用的一个文件叫web X方文件。好了,我们对这个什么是Java web呢,有一个大致的一个了解,下面我们来看一下什么是so跟so容器,我们通常呢,我们在发请求的时候啊,浏览器发一个请求,这个请求呢,是到整个这个web服务器,然后web服务器会来解析,你发这个请求是请求一个动态的一个呃资源还是一个静态页面,如果你请求的直接是一个静态页面的话,直接找到对应的一个静态页面,比方说一张图片啊,一个HTML文档啊,直接找到,而且把这个返回就是去找静态页面,还有的时候呢,可能去找动态页面,什么叫动态页面了,并不是说那个那个那个那个页面能动,那个不叫动态页面,动态页面指的是我这个时候的话呢,可能需要跟数据库服务器有一些交互,比方说我想登录,我登录的时候。
02:48
怎么样,我得看我的用户名跟密码,这数据库里边是不是有吧,这个叫动态页面。根据你请求的这个情况返回对应的信息,哎,这个时候我们需要到service容器里边来找sol或者是JSP service跟JSP运行在service容器里面,那service容器呢,可能呃跟JSP需要去访问数据库,访问,访问之后通过返回结果再给再给到我们一个JSP,然后JSPJSP经过解析之后,以一个HTML的形式给你返回,这是我们整个的这个流程,那我们要学的是什么呢?我们要学的就是啊。
03:34
Service容器,以及在service容器里边如何去写service跟JSP,至于说Java类如何去访问数据库,我们是不是已经搞定了,通过接DBC,所以说我们讲障碍外B,最主要的就是讲我如何在serve类的容器里边去写一些service跟JSP,包括比方说filter listener这样的,然后的话呢,它可以被service容器来调用。
04:06
来,我们看什么是service容器。容器为Java web应用提供。运行时环境。就是我们账va web里边的一些动态资源,比方说像我们说的这个,呃啊JSP啊,它的运行是环境呢,是S容器。就是说我们写的这个什么self JSP需要在这个里边来运行,它负责管理self跟JSP的生命周期,以及管理他们的共享数据。self容器也叫Java web应用容器,或者叫SOJP容器,流行的啊,比方说I cat,当然还有一些这个商用的web logic web fair占我们的这个课程的后边的话呢,我们会请在IBM这个我工作的一个好朋友是吧,过来给我们讲商用服务器web fair。
05:12
那我们平常用的时候,用这个tomcat就足够了。Tomd是一个流行的容器,那看一下这个tomcad吧,一个Tom猫是一个免费的开源的特容器,它是阿法奇软件GUV的一个顶级项目,有阿法奇S以及一些公司和个人共同开发而成,由于有了散公司的支持呢,所以说最新的service跟JSP规范,总之在他看里边这道题。这到体现,那tomcat是我们用的最多的一种设备容器,当然了也是免费的,它也是开源。好,下面我们看我们如何来这个部署tomcat。
06:00
首先昨天发了两个包哈,一个是这个包,还有一个是SR4点这版,这是tomca的圆码,好了,我现在的话呢,把这个解压到指定的文件夹下,那我加到哪个牌符下呢?我看一下啊。在我的D盘根那边有,我把这干掉。好,我给解压到那个下面D盘的根目录下。解压。到。地盘确定。一几啊好截完事看一下,哎,多了一个。阿帕奇tocad6.016打开这是什么呀?它的JM目录我们来解释一下啊,每个目录下放的是什么?先做一个了解就可以,B目录这是放的是什么呀,大家看。
07:09
是不是exe,是不是可执行文件啊,包括back是什么呀,批处理文件,就是说这个东西我是可以点的,但我点完之后没有反应啊,我是可以点的,然后的话呢,还放了一些下包,主要是放一些可执行的,可执行的文件,比方说启动tomcat的startup,关闭tomcat startdown,哎,都在这个下边。看也在这个下边,然后con是啥意思啊,配置configuration,这里边放的是配置文件。Li放的是第三方依赖的加包,比如说我们看见serve j API的话呢,都在这个里边,包括E,我们回头我们在学service的时候,我们就是通过嗯这些可以看到源代码,当然源码的话呢,需要我们去关联这个src.g度。
08:04
Logs放的是日志,现在还没有日志啊,然后time放的是一些临时文件,Web applications,我们真正的外部应用可以直接部署到这个工作下,比方说我们写好了一个这个外部应用,然后外部应用我直接我这个下边一考就可以,这里下边的话呢,已经放了一些了啊,再回来work,这个下边放什么呢?你还是空放的是,呃,这个JSP。经过翻译成,然后再编译成class这些文件。就是JSP本质上的话呢,也是一个Java类,也是一个它被翻译成之后的点Java文件和编译之后的点class文件放到这个下面,以及筛身被持久化之后,那个SSE文件也在这个下边,你看没有好了,还有的话呢,那就是一些这个文档性质的了哈,好,那每一个目录的话呢,我们都做了一些介绍。
09:09
那这些的话呢,暂时做一个了解就可以,我们一会儿在学习的时候,我们随着这个学习的深入是吧,我们每一个目录我们都会来进行比较深入的接触,运行toca,运行他CA,我刚才呢,解压已经成功了啊B目录下我们说呀,有一个start up有双击我发现什么呀。我无法运行,于是我就用命令行来看一下,我怎么就不能运行了呢,我复制。CD。一盘。CD。啊,它up好,我们一运行的话,发现什么呀,是不是给了我们这样的一行信息啊,他说要么配JA home,要么配加1HOME,必须得有这样的一个环境变量才可以,否则不行,好了,我们配一个炸或者是配一个。
10:20
加e home,否则无法运行,那我们配个账号home吧,这个账号home的话呢,指指向的是。JDK的根目录。Java home。D盘Java。GDK,注意哈,叫JA home根目录,我们以前是不是还配过一个past past指上的是这个B吧,我们指的不是这个病啊,指的是这个根目录,我复制右键属性高级环境变量新建。
11:01
Java v,确定确定确定回来重新开一遍。CMD,好了,再找到我们的这个一盘根目录,阿帕奇B目录过来,我们首先需要确定呢,这个start up是启动他的服务器的。好了,在D盘CD。Shut up。这个时候这个服务器呢,就可以被正常的启动。好,那启动之后呢,我们如何看,我们是不是已经正确启动了,一个是你可以看哈,如果启动过程中不出异常的话就启动了,然后我们还可以在。
12:00
浏览器里边输入localhost。8080默认的口号,哎,如果说号8080出现一只这个三角猫的话,就阿尔法奇com这个时候这个服务器就启动成功了。三脚猫,好,回到我们这个里边,我们跟大家说一下这个基本的步骤是啥样的。嗯,新建一个吧,还是一个Java project,对。28。啊,变一个闹钟。点PFT,好吧,我们说的第一件事是如何并体重看服起,怎么整呢?
13:04
可以这样,第一步解压解压,哪个解压柠檬需要搞对了哈,解押的是这个一盘沙瓦。他们钙关于他开的7.0,我们到后边我们会讲加压它注意什么呀,我们是不是还有个src啊,不是解压这个啊,这个是原码,原码的话呢,回头我们也会过来看哎,下它到一个非中文模到一个非。所中文目目下第一个,第二个的话呢,我们需要配置一个环境变量,比方说我们就说账home或接re都可以好,那召唤home指向什么呢?召唤home指向JDK安装的目目录。
14:16
指向JDK安装的根目录好了第三。通过通过什么呢?通过。这个命令通过阿帕奇并录下的up,其中通过这个目录下到什么呢?看一下啊。
15:00
BAT,我们说双击吧,双击它。启动服务器好了,四可以在浏览器中,可以在浏览器中输入。LOCALHOST8080来检验CAD安装是否。是否?正确啊,那那我们双击的时候呢,可能会出现这样的事,我再点一下,大家看我双击是不是一闪而过呀,哎。也不是一,也不是一,一闪而过好长时间,反正是没成功,这啥问题啊,看看出问题了,复制用命令行启动DMT。
16:03
盘CD。写一个lightup。啊,弄完一圈之后的话呢,其实我们也没看着是什么问题,反正出问题了,那我如何看见这个时候出了什么问题呢?这个时候,这个时候实际上出什么问题了,实际上我们说的明显一点,我是不是已经启动了一个了,现在你是不是还想再再启动啊,还启动不了,但这个是一个什么了啊,这个是我们说的一个叫这个,嗯,最直观的一个原因,我们通过这个命令,我先说一下艾特尼吧。啊,大家看哎,我这个时候我这样也能起,我一会儿我来说这个命令啊,大家看为什么起不了呢?因为8080端口已经被占用了,看着。看见了吗?Address地址已经被用了,被JVM绑定了是吧?8080已经被使用了,那你要再启动的话,还要用那个端口,我不可能两个程序用一个端口,所以说。
17:11
启动失败,好了说我,哎说若已经。启动了一个他应用是吧,则在启动做。同一个,我们看是什么样会抛出异常。会抛出异常,这个什么异常啊,在这儿呢,这一个端口被占用的异常,你看这这是什么,是不是一个网络,是不是这个Java ma里边一个exception呢,叫网络被绑定的异常,因为端口已经被占用了,因为端口已经被占用,占用了好大家来部署并他们看像我这样出现这只三角猫好了启动了啊是什么?我们简单的说一下,它是一个开源的。
18:32
容了,至于说是容了,回一会我们讲S的时候的话呢,我们再跟大家说说吧,S的创建、销毁以及生命周期方法都是由toca的服务器来调用的,比方说地球是吧,地球是人类赖以生存的环境,实际上人的这个地球上所有生物的创建、销毁以及整个生命周期的过程,当然了,这个地球可能没来管理是吧,但是那这个含义差不多,而我们。
19:12
这个so这是一个接口哈,这个接口里边可能会有一些方法,这些方法生命周期方法都是由so容器来帮我们进行调用的,好了,那对于传生态的话呢,我们再说的。刚才我们说了如何来运行tomcat,再说一点,我们看我们如何来关闭tomcat。我们可以。执行这个撒档方法,我们还可以来修改to的洞口号,先看我关闭的话有一个撒到。这个是那个错的啊,我来看下啊哦,没有散啊,等会儿。
20:08
刚看服务机制就关了。就开了,开的话你看这边是不是有个咖啡呀,很渣的吗?好了我关掉你看。好了,用这个的话呢,可以关闭comp,这会我们看如何来修改comp的端口号,那修改这个端口号的话呢,需要借需要这个打开comca con目录下的一个配置文件,这叫server.xml。是打开它,我打开它大家看。好了,然后呢,我们需要这这个下边去找端口号。
21:04
我们找到什么,找到8080过080801改就可以过过了是吧?在这67行,67行有一个PORT8080,比方说我改成一个,大家记住898几,8989改成18989好保存,存之后的话呢,我们需要把他的先关掉看看好了我再开。这个时候我们再问的话不好用了,你一下等着。没有好8989。成功,这就是修改他CAD的口号,可以通过,可以通过什么呢?通过修改server文件。
22:16
你这个一个的修改comcat服务器的端口。好,怎么改呢,这么改。打开看啊,主要就是把这个实际上我这块的话呢,实例就是行CC。此处的这个port等于多少,改为希望的端口就可以了。把P的值改为。
23:03
的就是修改的括号的话呢,我们也可改了是吧,下边的话呢,还有一个比要让我让我们这个纠结的地方,就是我每次启动他派呀,我都得到这个目录下。哪个录下这个目录下,要么通过双击,通过撒档来进行启动,当然了,聪明聪明的同学怎么启动啊,但是这么启动先关了啊。后面的兄弟可能是这样,我直接什么我喊啊。这个up跟down直接发送到桌面上是吧。对,太出明了,然后呢,通过这样的方式来进行启动。就关了啊,肯定是可以的,你看我直接大大启动,我直接关。
24:07
这说也还行哈,挺酷的,我们如果能这样,我要是能在任意一个目录下T的方式启动和关闭,是不是也不错呀,比方说你这个时候写的。搭很明显不行吧,这什么不行啊,那你这么要是写搭up的话,这是个什么问题啊,你要这样去startup的话,这个问题是我没有办法在这个ThinkPad这个目录下找着这个startup这个命令吧,不行,那于是我要是想在任何一个目录下都能够敲这个startup的话,我需要怎么样,我就需要把startup所在那个目录放到pass目录下吧,是这个意思吧,我们当时我们这Java的时候配那个pass不就这么配的吗?
25:08
这么配的说呀,要想在任何一个目录下都能通过startup启动窗T的话,我怎么办呢?我得这么办,底盘这个目录B目录,这是B目录啊,诶我复制把这个放到pass目录,Pass火变量下边,高级混金面料pass pass好。嗯。分号不行,分号CTRLV确定确定确定好我们再看。CD呢,打他。
26:02
哎,还不行,这个时候这个提示是不是不一样了呀,他说我需要设置什么呀。我需要设一个cat力量宏,我需要设这样的一个环境变量,不说这个环境变量还不行,那这个环境变量指向的是谁呢?那于是呢,就不知道了啊,那既然它能够这样给我输出的话,怎么办?我这个时候要想看,哎,它是什么问题,这个catin home指的是谁?我怎么办呢?我得来看,我得来看这个startup是如何进行定义的,Start up往这一放打开。考察这是什么,3W批处理吧,是吧,批处理的话呢,我们大致上看一下,我们不需要都看明白,但我们能够看懂过来看。他干什么呀,他说如果没有if not版,如果没设这个的话呢,我就去。
27:05
Got home,我现在我说没设呀,你看这不是这个吗?是吧,如果没设的话呢,我就got home got home在哪在这吧,是吧,好,然后的话呢,呃,说if not啊,他说这个不等于空是吧。是这意思吧,说如果这个不等于它去,它如果要是,那我现在我是不是空了,我是不是没设它呀,那于是的话呢,它就让这个开文定量后等于当前的电R吧,是吧,然后的话什么呢?然后等于当前的电R的话,然后它怎么样,他要看他要看有没有什么呀,有没有这个当前,呃,Di就是这个cat特列a home这个,并录下有没有这个命令吧。那我现在我肯定没有啊,我现在我我咋整的,现在我靠的是呦。现在我靠的是谁呀?现在我靠的是这个ThinkPad这个目录下我去干什么了?ThinkPad这个目录下把这个目录设为这个catsalina home,那这个目录下我是不是都不一定有闭目录吧,更看不上有它了吧,它没有,那没有的话怎么办呢?你说如果存在的话去,那如果不存在你接着看,然后CD也是高home说你看如果不存,如果存在的话怎么样,如果不存在的话,大家看这两句话,这是不输出啊,A口输出好了,说这个不存在,这这个没有正确的被设置这个环境变量是运行程序所必须的,这两句话是是不是这两句话看见了吧,就是这样的两句话,这不就是这两句话吗?IO会输出哈,不行不行,那下面的问题就是我得去设这样的一个环境。
28:59
变量,这回变量是啥呢?
29:03
CTRLC,我们看啊,他说这个环境变量的B目录下有个开特量,点BAT是不是就可以啊,就这个意思,于是拿过来。再拿回来,我们找到comca的根目录。它肯定是跟他派的服务器有关系啊,然后B目录,我们看B目录上有没有这么一个B处理这个命令了,Cat特in.BAT哪他吧,哎,然后再来对照这个,他说呀,我catalina home这个并目录下有它吧,所以说这个火线变量应该设置为谁呀,它应该设为谁呀,这个的并还有它,那说明这个是不是要设为这个comca服务器的根目路啊,懂吧,这就是看链home,我来写一下,大家看属性。
30:00
高级文件变量,新建at home。CTRV,好,确定确定确定回退,然后重新启动,关掉再看C。是不是挺酷的,激动了,怎么关呢?啊。那就O了呀,哎,这个时候呢,我就可以在当我设置了这个开链home以后呢,我就可以在任何目录下通过startup跟start来启动和关闭服务器了。这还没完,怎么说这种启动服务器的方式啊,再看一遍。
31:05
哎,怎么了,他是不是又开了一个窗口啊,这不找好,那我能不能在同一个窗口下既能开又能关呢?就说我这个时候就在这个窗口下开,于是呢,刚才我们这个我们看了一些哈,我们看了一些,他说如果存在它的话呢,去OK home,我们接着看这个是OK home,然后它怎么启动的,大家看这。看什么,他最终用的是谁啊?他用最终用的是看看Li home底子这个并目录下的看看li.bat吧,哎,它最终是靠它启动的,那于是呢,我们就来写一下,它靠它启动吗?我写个catalina。打开大家看这个时怎么了,几CS看看听是不是有很多做什么。
32:07
我启动这个时候是不是可以加很多参数啊,其中看有一个叫run run是什么了,在当前窗口启动吧,还有一个叫start start是在一个新能活启动外,还有一个stop是关闭的,于是的话呢,我可以这样记开呀。这这这。开车听好好,还可以这么启动,开车听转手转。哎,录下棋的关CTRLC就可以了,Yes,关B,好,这就是整个用catin的方式来启动抗态的攻击,这种启动方式的话呢,高级一点。
33:00
好了,但是这里边呢,我们看到了什么呀,我们看到了,我们实际上呢,是用了这个,呃,用了我们说的这个什么呢?用了我们说的这个,呃,看了start up整个这个源代码,那最终启动的话呢,靠就是它itutable,然后靠是这个命令来进行启动,OK。好了,回来我们把刚才讲的呢来做一个小结。说说可以,对了,可以在任意目录下启动conca服务器,好,为了它我干了一件事,干了个什么事呢?4.1把。啊,把这个目录设置到pass下,把这个把它添加到pass下好了,但是啊,我们发现发现光这样启动是不是起不来呀,光这样启动的话,它会抛出一个会会给我们有一些提示吧,哎。
34:10
在呃,这个添加成功后啊,添加成功后,若再任意目录下通过start up启动服务器,它为什么呢,会有提示,会会有提示,提示是这样的,我们这个提示呢,只能这么看了。Start up,把这个放到这里边来看这个提示来会有这个提示。CCY。
35:00
有这样一个提示,他说什么呀,他说你需要去设置这个开价后。G。要求设置看看力量home这个这个环境变量,哎,还需要设置它,那好了,那于是设置它吗?设置什么呢?设置这个环境变量,那问题是会张指标的是谁啊好了通过。通过阅读,阅读谁呢?阅读我们的这个叫嗯。点ATP处理文件可知,可知什么呢?可知这个环,这个环境变量这个。
36:07
这个环境环境变量下有一个。B目录B目录。而B目录下又有又有一个开缸。li.pap文件啊,由此可知这个指向的应该是comcat安装的,是这样的,看一眼拿过来诶啊就看它是吧,就看它,你看那怎怎么整的呢,他说呀,他说这个目录的并目录下应该有个他,那于是的话,我们推测是根目录,那那就设吧。
37:12
于是于是,于是把他CA的根设为。这个环境变量。好了,说完这个说完之后的话呢,不好用了。不好用了40。即可以即可以即可即可以带任意目录下通过点BA还有一个叫啥s.BAT启动。
38:09
欢B。我们觉得。挺好,同觉挺好,那么我们实际上还有更高的追求,更高的追求是什么呀?说继续阅读,阅读谁啊,阅读start2.bat文件发现最终这个这个启动服务器的是哪个命令啊,是开点bad。见曲目差,然后的话呢,在。银行窗口,命令行窗口。
39:04
直接输入开个Lina,提示如下。提示如下,提示啥了提示啥了,再看一遍呗,哎,提示这样。有一些可选的参数。嗯,什么就是说什么呢?就是说这个时候的话呢,Catalin catalina命令有如下的可选参数,如上啊如下如上可选参数,那其中我们说啊,我们会用到其中几个,目前用的是RA,还有还有饭在。
40:12
同一个行窗口命令行窗口窗口下启动服务器好,这个好处是什么呢?这个好处是这样,大家看我首先我先启动哈,起来吧,来,然后的话呢,我再我再起一个CMD。你看我这么一写啊,我是不知道这个是啥了,是不是知道了,这个时候我就知道哦,原来是端口被占用了,好了被关了吧,没用啊,好了它呢说。开启一个。
41:02
一个新窗口。启动。服务器,这刚开服务器啊,这是关闭服务器,关闭服务器好目前的话呢,我们用到了这样的三个核选参数,最终的情况是最终的情况就是我可以在任何一个命令行下通过艾Li启动服务器,通过C这个停止服务,就是我们刚才整个对他CA的服务器启动过程流程的分析,我们看到什么呀,我们是借助于了这个startup这个原文件,好了,我需要我们实际上做的有有这样一些哈,第一稿第一稿把come这个并录下啊,Comca这个并路填到pass下。
42:06
这个目标是什么呀?我可以在任意目录下去进入startup startdown或者是catthin,第二个,那这样不够是吧?他要求我们去设一个catalina home,我们又把tomca的根路。设置为catalina home2个环境变量,然后的话呢,我们可以通过catalina run来启动服务器,通过catal stop来关闭服务器,这就可以了,来大家来操作一下。
我来说两句