00:00
好,那么说我们在idea里边怎么去创建一个外部工程呢?哎,那一般来说呢,这个外部工程啊,它不是说我们独立去建一个还是一个model的形式。然后呢,比如说起个名零四。哎。直接回车。其实到这儿呢,你看和我们刚才创建这个Java的model没有区别,所以接下来呢,就是我们把它改成。一个外部的model,把它改出来。就是说呢,在这个下边哈,在package这个地方,我们给它指定上是一个。然后呢,下一步。其实呢,到这儿哈。打包方式是改成了啊,我这加个注释。外部工程要求打包方式为瓦,这是肯定的,下一步呢,就是还有就是像我们web info呀,诶像这个,呃,Web展毛呀,这些东西它得去生成,怎么生成这些呢?大家看啊,到file下边找到project structure。
01:20
到这儿呢,找这个faces。这里边你会看到就自动会有这个web啊,如果你的idea是2018的话,这没有,你就点这个加号,这里边去去给他去建一下啊就就就行,我们现在呢,这个是IDEA2019或者更高的版本,它这个自动就会有。自动它自动有了以后呢,我们在这儿呢,来生成一下web的S。边web X毛呢,它有另外一个名字呢,叫做部署描述符,你看不就是这个deploymentscripts吗?所以说呢,我们可以在这儿。Deploymentscripts啊,部署描述符这点加号。
02:01
这不就是外部的吗?哎,生成它。一方面呢,我们是选一个版本哈,那你看你你根据你学习的情况啊,你最最熟悉的这个版本是什么,我的话是这个地方就是2.5。然后这个路径呢,注意去看一下啊。作为我们微问工程来说呢,这个Weber应该放在这么个地方。它是放在我们这个梦,就是呃src下边的men下边的这个,呃,Webb这个目录下边啊,这个目下边。Src下边就这个得我们自己写了啊src下边的men下边web APP下边放外部音符放外部S哎,然后这个时候呢得OK。呃,接下来呢,就是说你的外部目录是什么,选中它以后点一下这个笔,哎,然后我们发现呢,其实这个目录没错,哎,然后呢,就是确认一下,直接点OK就行。他会问你这个目录没有,要不要建出来叫yes。
03:02
然后呢,Apply OK就行了,你看Webb下边这个web iner下边web髦是吧,这不就都有了,而且我们这里边这个东西生成的这就比我们用图形啊,比我们用命令行这个生成的这个要版本要高了啊,就这个这个哎,不是这个哈。命令行里边生成的这个呢,就就给人感觉就就很简陋啊,因为它这个版本就很低啊,你这个这个这里边你看外围APP是空空壳啥也没有啊,它的约束是在这明的,它还是DD约束啊,我们这个已经升级到了S约束了。那么然后呢,这样的话,这个外部工程其实我们就建好了,这个建好了呢。我们这种方式去创建哈,它的好处就在于说呢,这个web点毛啊,能够以这个我们指定的一个版本,这不2.5嘛,我们刚才指定的以我们指定的版本来生成外部点毛,哎,另外一个呢,我们这个结构哈,是idea也承认的,你想按照原来的方式呢,在idea里边去跑这个工程也都是可以的。
04:04
哎,所以下边呢,咱们来写写几个,写写写点程序啊,咱们来这个测试一下。在这个外部APP下面,咱们新建一个GSP页面。index.jsp。哎,然后呢,在Java里边我们写一个。咱就不写了啊,就就就写一个简单的,呃,那叫message吧。里边提供一个get方法,然后return一个哎,Hello message。然后呢,把这个在我们GSP页面上面。
05:01
咱们来创建这个类的对象。我们G就是和我们Java程序能够去建立起来。然后呢,咱们就可以呢,去把它给这个跑起来。哎,这个地方呢,我们来新建一个tomcat。本地的,他们开的。哎,然后呢,要部署的就是我们这个。一般我们选下边这个的是吧,呃,就是我们刚创建的这个外网。我们现在呢,是以这个,哎,我们最熟悉的在idea里边运行的方式来运行的,啊,把这改成一个简短一点的名字。这个地方这两都选第三个。好嘞啊,然后呢,把它刨起来。
06:03
妈。妈。呃,服务器启动还需要花一点时间啊,所以我暂停了一下我们这个视频,然后呢,这边大家看啊,Hello message这个地方已经显示了。所以说你看呢,我们以刚才的方式呢,把这个Java model改成了一个web model,哎,那这个这样的方式改在idea这边改,这样idea也是idea也是认的,那么我们没问呢,没问也是承认的啊。呃,因为ma呢,其实他不管你在toca上面运行这些事儿啊,呃,你比如说呢,你你在这儿对于这个ma工程,呃,对于这个他执行ma文命令的话。执行隐私什么的啊,这个东西都还是正常执行命令啊。和我们这个外部工程呢,其实并没有什么矛盾,没有什么冲突诶。最重要的话就是说在这个project structure这个里边啊,需要配两个东西。一个呢是我们web s毛,一个呢,就是我们外部资源的这个根目录啊,主要是这两方面。
07:06
当然了,呃,这个对于大家初学者来说呢,可能会稍微有一点这个费劲的,就说这个里边这个目录呢,得我们自己去指定一下。就这个地方呢,一方面是因为它有有三级啊SCB。你要是不这么写的话,这个maven它就不认识了啊,因为maven呢,它的默认的约定的目录结构里边,呃,Web资源就是放在main目录下边,Web ABB目录下边啊放web资源。然后呢,说我们这个放的位置哈,是这是我们model web model的根目录,下边src下边下边web abd啊这个目录结构,哎,刚开始你可能不是很熟悉啊,这个你就慢一点仔细一点啊,一步一步把它给写对了。呃,这个牵扯到一个什么问题呢,你要是这个目录结构呢,不是我们刚才说的这样哈,妹妹如果不承认的话,你将来打包呢,这个目录结构就会不对。
08:01
哎。哎,你这个打包啊,这个就跟我们这个外部工程的目录结构就有关系了,所以说呢,你要是这个目录结构不对的话,你可能这个我们呃。外部APP这个目录下边的东西,你就放不到我们这个里边。哎,作为打包之后呢,你看啊,原来外部APP目录下边的东西会被放到我们这个根目录下边。所以说这个必须得让ma啊能够找到外部APP目录,Ma要想能找到的话,你就得按照ma的目录结构来设置啊。ma要求的就是在。Src下边找到啊,下边去找我们这个。外部APP啊,你看下边找他这个目录结构必须得对,不然的话,你将来打包的话,这个包的目录结构里边就不对了啊,这个外部APP里边东西就就放不进去了啊。所以说呢,我们一方面让idea满意,方便我们在idea里边去跑这个外部工程,另外一方面呢,还得让VI也满意,然后呢,他的这个我们的外围APP里边的东西能够给它打包进去啊。
我来说两句