00:00
好,大家看它是项目型,大家看这就像项目原型,这是项目原型,这些项目原型大家纲分为这么几类,第一类静态的网页,叫HTM2的网页,其实是用来展示数据的全部点HTML这网页这是这是首页,一般项目里边都有首页,通过这个首页,那么能够让用户能够打开进入这个项目,进入项目之后再做别的功能,这是这个首页。首页一般都是放在整个项目的根目录下吧。这是首页,然后大家看这里边,再看这些都是其他的业务页面,这业务页面你看,再看这些吗?这业务页面你看吧,这些都是A天猫网页,当然这里边还有一些目录,目录下边还有网页,为什么还有目录,目录下边有网页,因为这些我们做的这些项目业务功能有很多功能。让每一个功能呢,都有相应的页面,那这些页面不可能全部都堆在,什么都堆在一起,所以不同功能的页面都放到不同的目录里,这样以后代码好维护这样的,那有老师这个有个目录,为啥这个安装还有个目录,我们前面给大家说了,整个项目的功能一般分为两大块是第一大块是什么?
01:11
系统管理的功能,第二大块什么业务管理的功能,所以一般来讲我们美工做做这网页的时候,也是按照这两块来做的,所有系统管理的功能页面都在这里边。当然系统功能下边还有一些别的系列的别的小小模块,小功能。那下边还是可以再分一些子目录,这些子目录下边又有相应的页面,这样所以大家这样的话分的比较细,这样以后代码好维护,这是有关业务管理的页面都在这里,业务管理下边还有一些别的功能,知道吧,好,这些都是网页。然后网页只能显示出去,那墙显示好,还有什么还得修饰修饰,用CS3字,以及用些图片等等,这是图片。然后呢,这是什么,CSS以及JS都在这边啊。
02:02
这是我们所需要的,那总之这个下边所有的都是静态网页这些技术啊,那我们把他们呢,都放到我们这个项目里边就行了,那这些静态的这些网页,不管是现在GS还是网页在那他们应该什么建,按理说把他们拷贝过去放到我们项目里,里边放到哪个目录里边,对外部APP下边放到这,为啥放到这下边。为啥放到这下边就得放那下边吧,那为啥放到下边你不能说就得放那那那你太霸道了是吧,你就得放到这下玩,你得能说出来原因啊。为啥放到这下玩,因为在上我们这个项目将来是不是真正要运行的,要部署到to开上边部署到Tom开的哪个目录下边他不开的是不是有一个叫we部这个目录,对we部apps这个录啊,We部apps we部这个目录它下边是不是可以部署好多应用啊,好多软件,就是好多这个外部工程都可以部署在下边,你比如说大咱们有一个,假如说有个学生管理系统,Still内蒙。
03:16
啊,STEM m grr这学生管理系统啊,是吧,那这个学生管理系统下边才有种啊,它肯定是外部项目,是不是有它的目录结构,有它的目录结构,那假如这个地方我就不写了,我写咋不咱们有个CRM项目。那将来也会部署到它下边,那部署到下边,我就以它为例,它下边有哪些内容?就是说在这个外部apds目录下边再创建个子目录,叫CRM项目,那每一个子目录都对应一个外部项目,假如我们就以它为例,那这个CRM项目它下边真正部署,他们看到它下边有哪些目录呢?有哪些内容呢?这是外部的一个目录结构是吧?We部目录结构有什么?其中有一个叫什么we部infer是吧?对外部infer是吧?We部infer下边有啥。
04:08
三大件是吧,哪三大件外部点L核心的配置文件还有啥克拉是吗?它下边主要放什么呢。对,放到我们写的Java程序,编译好之之后,编译生成的class文件都放在这里边,就你写的Java源文件不可能直接运行的,将来他会编译,编译好之后都生成一系列卡的文件全放在这里边了。还有什么呢?Lib lib是什么?对,加包,你这个项目里边所需要,那你加包全部都放到这里真正部署的,诶你说老师不是依赖吗?依赖是你开发的时候加上依赖之后,将来真正部署的时候,然后呢,Idea还有妹妹会把你仓库里边所这个地方配置所有的依赖,对应的仓库里边那些家班全部东西拷贝到哪儿去呢?拷贝到汤姆开的这个目标下边。
05:07
这样你这个项目在运行的时候,这些类在运行的时候所用到的应响加班直接到这里边去找,大家明白这个意思吧,对就这个意思,这是we部infer,这we部info,那这跟外部INF平级的,还有还可以放什么。放什么,就是放咱们那些静态网页,静态网页。点HT Mo,还有什么点CSS,还有点对GS还有点是吧,那各种各样的图片,什么PNGJBT等等那些,大家明白这个意思吧,就是这样,那么将来这些东西都配大家看,都会什么放到这个都都会放到这个CRM下边部署到这。那什么地方的东西才会部署到这,我们开发的时候,外部APP下边,就咱们在idea里边开发的时候是这么一个目录结构,将来真正部署的时候。
06:06
Idea,还有ViVi会把这个目录下边所有的东西都拷贝到哪去呢?都拷贝到外部BS下边这个项目的名字下边去,都放到这里边去。外部APP下边的东西全拷在这边,包括外部INF,也属于淘宝外部外部APP下边。将来你这些静态网页,你只要拷贝到它下边,将来这个下边的所有的内容都会直接部署到tomcat下边,We部apps目录下边,某一个项目的根目录下边。所以将来你的那些什么页面什么之类的,如果放到外部APP下边,将来直接就拷贝到某一个应用的根目录下边,将来从外界就可以直接访问了,大家能理解这个意思吧?能理解吗?来这个部署的时候没见过吗?
07:00
掏不开的,逃不开的部署就是把你的外部项目部署到他不开的上,没没部过吗?不火吗?对不国刚一开始学外部,学外部技术的时候,学service JSP的时候,是不是这么,是不是就这么来来干的,就这的你开发项目的时候,你在idea上面开发,把你的所有的东西代码都写到,都写到这。把你的页面都放到外部APP下边,那你说我的代码是写在这里边的,你我的代码是写这,还有配置文件就写在这边,将来这个idea会把你这些代码,还有把你这些配文件,每每会把他们编译,编译好之后放哪。放它下边有一个隐藏的一个class,然后呢,把这些东西编辑好之后都放在这里边。然后把你这里边配置的没配置的妹妹那些依赖那些加班都拿过来之后,放到这个目录下边有个lab目录,然后都放到这里,放你的页面,又都放到外部APP下边了,好,然后呢,把他们一块都部署到他们开的上面。
08:07
但能理解这个过程吗?对,能理解吧,对,现在理解了不对,你要知道这个过程中了啊,你你总是自动部署,自动部署你都不知道咋部署到他们开的上了,是那万一以后让你什么让你去实施这的时候,你就不好办了,是吧,所以光用这些什么自动的这些工具还不行,大家还要理解它的这个原理是吧,还要理解原理。所以大概我们说把这些项目,把这些把我们的这些静态网页。我们将来为了让他们都直接什么部署的,是拷贝到这个项目的根目录下边,所以我们要把这些网页全部都放到,什么全部都放到。开发idea这个工程的这个外部APP,这个目录下边。因为外部APP目录下边所有的内容将来直接部署到tomcat下边,应用到根目录下边,所以我们要把这些网页都放到它下边,都扔到他下边就行了,知道吗?
09:12
好,这是我们说的这个地方,所以应该把这些网页都扔到它下。好,这是我们这个好,但是这个东西扔到它下边又有又有有问题了,有啥问题,我们说以前跟大家说了,你只要部署到他开的。上面的这些应用。那么你的这些页面如果放到外部的应用的根目录下边,它有一个特点,有一个什么特点,放到它下边的这些资源从外界可以直接访问。从外界直接访问什么意思?假如说你放上上面一个网页,这个网页假如是个叫test的,点JSP好了,那从外界就可以直接访问了,怎么访问?从外界找,假如外界知道你这个tomcad所在机器的IP地址,我就可以这么访问,假如你能IP址我我简单写,假如是是这么一个IP地址端口号,大家都默认8080,假如你这个项目是CRM,假如说你这个应用的根下边有个网页是test.jsp,那这个时候我一访问这个网页,我一访问这个URL,在浏览器上面,只要咱们的网络是通的,我就能直接访问到你的网页,是不是这样子?
10:27
对,我就能直接访问了,为什么?因为部署到外部应用根下边的网页,随时大家随意可以访问,只要知道URL从外界可以直接访问,那直接访问就有问题了,有啥问题?万一我这个网页有上面有很重要的数据需要显示呢?那别人不管谁都能访问了。不管谁都能访问,那我这数据不就泄露了吗?假如我是给公司做项目的,这个公司里边很多商业机密都在这个网页上面显示,知道吗?那外界什么去访问的时候,那直接去访问你的网页,那你的数据就泄露了。
11:04
所以在实际开发的时候,为了我们的数据安全,一般来讲呢。这些网页一般都是什么?不放到外部,不,不把它部署到外部应用的根目录下边。为什么?因为外部应用的根目录下边的内容都是不安全的,我们这个地方外部什么应用根目录下的内容都是不安全的。不安全的,怎么不安全了,就是外界,外界。可以通过URL直接访问,不管是谁都可以直接访问,都可以直接访问,这样你的数据有可能泄露,甚至更严重的情况,万一在上面可以做一些增删改,查一些数据,他把你的数据删了,或者他把你的数据给你,给你什么修改了,这时候你的数据就就完了。
12:04
所以真正开发的时候,一个一般干什么呢?所以那么所以真正开发的时候,一般来讲,一般为了数据的安全,这么安全都会什么。不会把页面放到Y,直接部署到项目的根目录下边。因为根目录下边外界可以随时随意访问,知道吧,那都会把页面呢,把我们的页面能够显示的页面放到哪个地方,对放到外部iner下边,放到是吧,部署到外部iner下边,外部INF啊都是这样部署到外部in刷下边。诶,你说部署到外部法上,部署到外部英法下边怎么就就按上了呢。为什么就安全了呢?接访对外界直接访问了,外部infer目录下边内容都是受保护的,外界不能直接访问,因为外部info下边内容有,因为什么外部杠infer目录下的资源是受堡护的,是受保护的,外界不能直接访问,外界不能直接访问,外界不能直接访问,这这是我们说这嗯。
13:28
诶,外部英文下面内容为啥不能直接访问。第四本。为啥不能直接访问?对,做做做技术就就得什么不定为你是吧,那为啥不认这么,你说这是什么?对,这是规则是吧,这是规则,这是规定是吧?这是规定叫什么规,谁谁规定呢。对,这谁规定的,这这是一些什么,这种做外部的发明这种技术的这些人规定的,谁就是一些国际上的一些这个国际化的这些组织规定的,那如果没有人制定规定,那还能得了,这个世界不就乱了吗?啊,你想访问你就访问了。
14:14
肯定是大家制定规定,那你说掏不开的软掏不开的,其实也不是规定超不开,超不开的呢,只是按规定实现,超不开的也是做软件的程序写的,程序员写的,他们写的时候按照规定写的,知道吧,这些,所以说那什这都是规定,所以他下边东西他不让你访问,你就访问不了。因为他们还按规定写知道吗?所以说他跟我说这个,所以放到外部印刷下,所以大看我们说我们把这些网页看吧,这些网页都放到外部,都都放到外部符下边,将来它部署的时候也都会部署到哪个地方去,部署到外部符下边,部署到这下边外界就不能直接访问了,所以我们把这网页都放到这里边。那放到这放到这个了,外部音符那放到外B页面,如果都放在下边,这些网页太多了,把我的外B音符弄得太乱了,所以一般来讲我都干什么?对,在这里边可以建一个目录,这个目录里边专门放网页的,我这个地方就叫page这个目录,然后呢,把我这些是吧网页贴里边就行了,CTRLV贴里,然后呢点OK大看这些网页全全放到里边了,知吗?
15:21
这往络上放,当然现在就是静态往上以后我们会把它改成动态了,知道吧,好这时候我们说的这样,那这个时候那就放到这里边就又有问题了啊放在外部符下边,外界不能直接访问了,那我假如我正常的用户想访问,还能访问吗?也不能访问了。那外界不能访问了,那你正常的用户,我就是想访问你这网页呢,也不能访问了咋办?留个登录的。有登录有登录的,万一我从想登录成功之后,我想想从浏览器跳转另一个网页咋办呢。
16:00
那个。啊,所以我想访问这个网页怎么办?所以将来我们是这样,外界不能访问我们自己的Java程序,是不是可以访问,对我们自己的Java程序可以访问。那么将来什么要想访问网页,别让他直接访问网页了,干什么让他去访问,我会写一些什么加va程序,什么Java程序,是不是就是一些cler啊,将下来让外界想访问网页,想去让他访问我的controller,然后通过我的controller干什么?对,跳转到网页去是不是就可以了?大家能理解这个意思吧,这外界不能直接访问,受保护的,但是我内部的程序都属于我这个程都属于什吧,我这一个应用,我自己写的程序是可以访问的。知道吗?是可以访问的,所以说大呢,我们说这个地方将来我们部署到时候是这样子这样部署的这样啊,将来我们部署应该是这样子的这样,然后呢,这个地方我们部署的时候是这样,这个是来个配这一次是吧,都部署到这,当然这些网页,这个网页都不要了啊,然后呢,这个地方当然这些都是跑到这下边了,那这样外界就不能直接访问了,就这个意思。
17:13
但是外界不能直接访问我自己正常的程序,要想访问的话,必须经过ctrler ctrl都在这里边写着呢,编辑好之后都在这里边,然后通过ctrler,我就可以跳转过去,外界可以访问ctrler,外界访问CT咋访问?外接访CTRL的方对上面有urr,给CTRL分配urr,然后呢,外界访问什么ctrl URL就访问到CTRL来了,有CTRL跳转到页面就能跳转过去了,这样用户就看见了,但能能理解这个意思吧,那也能理解知道吗?这是我们这样,哎,那那你说你这样老是你这不是没事找事吗?啊。别人访问你页面,不能让他直接访问,通过ctrler就能这么直接访问了,那外界要直要想通过也也通过你的ctrler也访问,直接访问你的controller,不也能访问到你的页面吗?你的数据不也泄露了吗?
18:12
对,他访问我的CTRL了就好办了是吧?咋好办了,我的CTRL我可以写我的代码是吧?我随意任意写代码就行,那他一访问CTRL,我可以做验证是吗?那我你合法的账号让你通过,让你去访问不合法的账号呢?我拦截你了,是不是这样了,就我就可以控制了,我就掌握主动权了,那如果不经过CTRL,他就直接访问网页了,你想做验证,你都验证吗?验证不了,大家明白这意思吧,就这样,所以这时候我们说这是它这个含义,就这知道吗含义,所以将来我们把页面都放到we部inferl下吧,外界只能放回CTR这,然后访问我的页面,通过CTRL来访问知道吗?好,这时候我们说到这,好,大家看这样的话,我们把这种网页都放到we部infer下边了,这些图片和CSSGS这些文件需要放到web infer下面吗?
19:06
不用吧,不用,为啥不用。对,因为他是不上边什么,为什么我们把这些网页放到外部银管上面,就是因为这些网页上面有我的民进党的一些数据业务数据。他可以做一些功能对我的数据进搞搞破坏是吧,所以我放外没这上面有数据吗?对图片CSGS没没没数据,它更不能通过这些是吗?图片啊CSSGS那对我的数据形成破坏是吧?所以这些数据压根不需要保护,所以我就不放到外部inerra,那我放到哪儿?是不是对直接是不是直接放到外部APP下边,将来部署就部署到这里了,对直接放到这了,那我就直接放到这里边了,外部APP下边,那将来一部署的时候,它就部署到应用的根下边了,所以这样的话就可以。好,这个地方我就把它贴到这了吧。
20:05
好这好,这时候我们这样。放到这里边,那么将来是这些就可以通外界可以可以直接访问了啊,他访问,反之我又我又不怕泄露出去了,知道吧,那有同学说老师我偏偏把他们放在外部,英儿不是更好吗?放到外部信号下可不可以?我是直接放,这不更好吗?不更更安全一些吗?这些我也不让他看。不行,为啥不行啊,对,你得能说了,原因你不能猜是吧,你不能蒙是吧,他为啥不行啊,你想啊啊,你要如果发到外部的话,是不是不管是谁访问的话,都得通过CTRLL访问。那访问图片,访问GS,访问CSS,我们都是在什么时候访问呢?是不是在我们页面上面去引用他们,那你将来在页面边去引用他们的时候,都得通过controller去什么去引用他们。
21:04
那这个时候你用起来是不是你正常使用也比较麻烦了,你得提供一系列段去跳转到图片,跳转CSS,跳转GS是不是比较麻烦了。啊,所以说他告诉我说这些内容不加入泄露数据的数据,这些页面就不用放到外部,银盘放到外面上,那这才是自己没事找事呢,是吧。啊,所以大家这些不需要保护的你就别保护了,需要保护的你就保护,不需要保护你就别保护了,是好,这是我们说的这些这个关于我们这个这些这个页面看页面资源我们也就放到这了,看吧,这是我们这样还有什么呢?看看还有什么呢,看看这个啊。这个还有什么公共的类,还有其他的资源,这时候我们以后用的时候再说是吧,这样的话,当然我们整个这个什么环境就搭建好了,静态页面也有了,这些都放出来了,知道,那整个环境该加的都加上了,知道吧,那该加的都加上了,这个项目就创建好,创建好下边,下边呢把它部署到他们看上,看能不能运行起来,能运行的话,那我们这个环境就搭建好了,下边在上面做功能的开发就行了。
22:16
那下边我们就准备来把他们部署到,当然我没写的没写类没写类这些也是个合法的一个什么外部项目了,然后把它部署到他们开上面,然后呢,来启动运行访问就行了,好,下边我们来这样把项目部署到他开上面,然后呢,这个地方继续了,呃,第四个啊,这一个。这是添加这个,怎么那个添加静态的页面资源是。然后呢,这个地方这是我们这样就行了,然后呢,这是第五个,第五个,然后呢把项目加盟项目,然后呢,部署到部署到服务器,就我们就服务器,我们就用他们开的淘们开的上,那部署的话,是不是我们得把那to姆head集成到ID里边去啊对集成ID那集成ID那我看这个to head,咱们这个地方有汤姆head把它解压就行了,这把它解压右键解压啊。
23:20
我们就用它了,然后呢,把它集成到ID里边去集成,ID咋集成。是不是找这个对,找这个run下边有这个,然后呢,在这呢,他支持这些支持这些服务器,你看吗?Idea支持这些服务器,这是我们淘宝看的,它支持什么,我前面给大家讲的那些大型的那些什么商业服务器,这是什么?Web着这口,这是什么?Web SP是吗?还有一些别的是吗?这是什么解包S,这是市面上用的最多的三种商业服务器吗?你以后到公司的当中,你们公司如果用这些,在这儿也可以创建这些服务器,创业好友做个简单配置,也可以把你的项目部署到他们上面去,用法大同小异,知道吗?
24:06
所以我们这个地方我们就有套的,当然还有别的服务器,那么这些别这这也都服务器知道吗?这些都服务器知道吗?当然有些服务器不是做Java开发的,是做别的一些语言开发的idea,它是通用性的这种开发工具,它不但支持Java开发,它支持别的开发,嗯,所以它支持别的服务器,那我们这个电va大纲,我们就用to快D,用他开D,然后呢,用本地的to开D,点它就行了,知道吧,然后呢,这啊这个地方来就创建一个吧,创建一个点它因为我们这个。里边还都没创建过,然后呢,这个地方,这个地方来个它localo它然后呢创建一个我们点它,然后呢,这些都是你们以前的,应该是就以前的都给他删了嘛,这个地方,然后呢这个地方来点它,然后呢找到咱们这个to head cos。咱们这个第18个,然后呢,这个是阶段资料兔这个淘不开了,找到它就行了啊,然后呢,点OK代码创建好了,创建好之后呢,点OK这样就行了,这是我们这个淘宝卡了,知道吧。
25:12
然后呢,这他开到大家这个地方,我们说他们开一启动的时候,它默认默认访问器的项目的首页是吧,那放在首页的话,它用哪个浏览器,大家这个地方我们用火狐的,因为我们整个前端的技术用boot driver这种框架,Boot driver框架呢,它是基于火狐浏览器的,它在IE上面有极个别的功能不支持。所以大家以后开发我们这个CRM项目都用火狐浏览器,所以我们这个地方选中火狐浏览器,他打开了直接用火狐浏览器,然后呢,这是咱们那个首页,那个首页呢,我们说了locals,特别用local hosts。用这个127这个这才是真正的IP地址,为什么这样?因为你开发就是用真正的IP地址,这是合法的这种格式的IP地址,为什么?因为将来你开发之后,你的项目部署到服务器上,外界访问也是通过IP地址访问,不可能用local hosts的访问,那这个时候你要是开发的时候用local hosts的,那如果外界访问的有可能,那么有问题你你发你发现不了,如果你用合法的IP地址,那这个时候外界访问也用合法的IP地址,将来万一有什么问题,你能及时发现,知道吗?好,这是我们这别的都默认就行了,然后这个地方把我们的项目部署进来就行了,点给deployment,然后呢,这个地方添加进来,找到我们的第二个项目。
26:29
这个地方,然后找哪一个,找这个吧,这个然后呢,这个地方让点com,然后呢,大家下边这是我们的应用的名字,它默认给它起的,它太长了,我们这个地方给它去掉一些就叫CRM就行,以后访问的时候部署到他们开的我这个项目的名字就叫CRM了。然后呢,这个地方点应用点OK完成就行了,这样的话,我这个什么他们开的就配置好了,配置好之后项目也部署上去了,下面我们的启动服务就可以了。下边了启动服务啊。
27:20
大家看一启动服务大,他就访问咱们那个项目的是吧,项目使那个项目的这个路径了,一访问项目路径大概你看他这个来到哪了,一访问的项目来到这个斜杠了,你看我这个斜杠是啥。对,换一个页面,换一页面,换个页面他怎么报了404了,大家看对我们换我们换一页面那个字段是不是还没写呢?按理说得提供一个ctler,让他去向ctl就行了。知道吗?这个CTRL我们还没写呢,然后呢,所以说他让我们说他报404,所以报404,按理说我们这个项目就什么搭建就搭建成功了,只不过我资源没提供,他当然把404了,那我一会儿把这个资源给他提供上写一个ctrler,然后让他一访问这个CTR,让他跳转到首页去,这样的话这个首页就打开了,知道吗?
28:12
好,这样的话,大概我们这个开发环境我们就给大家搭建好了就知道了,就这么一个过程,所以这个过程大家每一位同学在自己电脑都要会搭建。都要回大家。从创建工程开始,一直到后边你到公司当中完,有可能也会让你搭建这个开发,知道吧,好,这时候我们这样,好,那这个我们先给他搭建奏,下边大家我们先休息会儿,休息一会儿之后呢,我们来开发我们相应的功能就行了,好下边大家休息会儿。
我来说两句