可爱的Jetty - tomcat的可能终结者

有机会开始接触了一下Jetty,发现果然是好用,有一种相见恨晚的感觉,听说现在Google的Java web容器已经都专用jetty。


这源于Jetty的插件似的特点,而且Jetty可以像一个简单的POJO写在程序中,就像他的口号中所说的那样,“Don't deploy your application in Jetty, deploy Jetty in your application”,"不要让你的程序部署到Jetty中,让我们Jetty嵌入到你们的程序中"。


Jetty的高扩展性也是其发展迅速的另一个重要的特点,Jetty不仅仅提供了很多好用的插件,比如ip过滤、日志记录、请求日志、代理服务器、rewrite、ssl等,这些都可以通过简单的配置一个配置文件,然后再启动参数中加入该配置文件即可轻松实现。


哦,还有一点,Jetty实现了独特的推模式,这个虽然还没有用,但是了解了一下他的实现方式,性能方便还是不错的。。

下面简单的谈谈Jetty的使用:


Wepapps Deployment 这也是我们平常最常用的部署方式,好像是在嵌入式服务器出现之前唯一的部署方式。跟一般的web容器一样Jetty在根目录下面也有一个webapps目录,在jetty启动之前会扫描该目录:


如果有foo.war,则jetty会把程序发布到/foo下


如果webapps下面有foo文件夹,也会发布到foo/下

如果同时存在一个foo文件夹和一个foo.war,则会判断两者的修改时间,选择最新的进行部署

如果是root.war则会直接部署到根目录下。。。这个好像跟tomcat差不多,呵呵


Embedded Usage 这个是这里喜欢Jetty的最主要的原因了,嵌入式,只需要将jetty的jar包copy到程序中,然后就可以使用 Server server = new Server(8080); server.start();启动服务了,就是这么简单,是不是有些惊讶呢,当然如果你有一些特殊的需求,可以对server进行一些配置。


下面是我部署程序是用到的java代码


[code="java"] String webapp = "D:/****"; // 程序存放的位置
server = new Server(8080);
WebAppContext appcontext = new WebAppContext();
appcontext.setDescriptor(webapp + "/WEB-INF/web.xml");
appcontext.setResourceBase(webapp);
appcontext.setContextPath("/");
appcontext.setParentLoaderPriority(true);
server.setHandler(appcontext);

try {
server.start();
} catch (Exception e) {
e.printStackTrace();
}[/code]

哈哈,就是这么简单。。。。


server.stop();关闭服务了。。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值