linux jetty 安装目录结构,jetty;linux 目录结构(示例代码)

20180110230013310842.png

20180110230013312795.png

20180110230013313772.png

在Jetty9,只有Jetty基路径下的配置文件被编辑,属性才会被修改

1、web应用的结构:

在说jetty部署之前先说说servlet规范定义的web应用的结构,应该都很熟悉,这里罗列一下:

WEB-INF/

WEB-INF/lib/

WEB-INF/classes/

WEB-INF/web.xml

以上内容是一个webapp必须有的,其中在启动的时候jetty的WebAppClassLoader会先从classes中加载类文件,然后在去lib目录下加载类文件

2、部署方式

jetty支持多种部署方式,比如servlet规范中的满足以上内容条件的war包,jetty自己提供的xml部署描述符,或者直接就是一个满足servlet规范的文件夹(war包本来也是要解压的)

(1)简单部署,直接将war包或者解压的war目录放入jetty.home/webapps目录下,然后启动,jetty的部署扫描器会找到部署的内容,然后自动设置contextPath为该war包或war目录的名字即可完成部署,但要注意war的名字,当war的名字为root.war或者文件夹的名字为war的时候,contextPath就是root,在浏览器中访问的时候就不需要输入contextPath了,而直接访问根目录,比如http://localhost:8080/就可以访问到root.war这个应用了,当你的jetty只需要部署这一个应用,将其命名为root.war还是可以滴.

当你需要使war包的名字和contextPath不同,这时候怎么办呢?就是第二种方式:

(2)XML部署描述符,这种方式就是在webapps目录中不放除了xml文件描述符之外的任何war包或者war目录,jetty部署扫描器能自动加载到这个xml文件,然后通过xml文件中定义的WebAppContext实例中的war和contextPath属性来找到你的war包或者war目录,比如这样一个xml文件:

/mycontext

/home/wilsonp/myapp/myapp.war

jetty会解析该xml文件,然后自动搜索到myapp.war文件,并定义其contextPath为/mycontext,启动之后就可以直接输入http://localhost:8080/mycontext/就能访问到应用了。

其中WebAppContext中还有其他的属性:

extractWAR:

/mycontext

/home/wilsonp/myapp/myapp.war

false

通过以上设置,可以在部署myapp.war的时候不用展开该war文件。

还记得在web.xml文件中可以设置应用初始化参数吧?其实也可以在这里进行设置,如下设置,

/mycontext

/home/wilsonp/myapp/myapp.war

false

myapp.config

/home/wilsonp/myapp/config/app-config.xml

可以在启动jetty的时候设置ServletContext参数,参数可以是一个xml文件,jetty会自动解析,但要注意一点,jetty在解析了部署描述符文件之后才会去解析web.xml,这时候如果web.xml中也有和app-config.xml中同名的参数的话会将其覆盖。

overrideDescriptor:

看如下配置:

/mycontext

/home/wilsonp/myapp/myapp.war

false

myapp.config

/home/wilsonp/myapp/config/app-config.xml

/home/wilsonp/myapp/config/overlay-web.xml

jetty解析web.xml文件之后会解析overlay-web.xml文件,就是说,可以在这个文件中覆盖web.xml中的属性,或者增加一些额外的属性,免得web.xml文件被改来改去的,麻烦,有了这个属性就省事了.

jetty还可以配置jndi数据源,自己去看看吧!

(3)第二种方式是放置war包,其实可以放置满足servlet 规范的任意目录都可以

(4)还有最后一种就是在jetty9系列之jetty.home和jetty.base中说的jetty.base的方式

没了,我知道的就这几种方式,其实我一直使用的是第二种方式,简单方便,还容易修改

20180110230013316702.png

20180110230013317678.png

20180110230013318655.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值