首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

可爱的Jetty - tomcat的或许终结者

2012-10-07 
可爱的Jetty - tomcat的可能终结者有机会开始接触了一下Jetty,发现果然是好用,有一种相见恨晚的感觉,听说

可爱的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();
       }

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


server.stop();关闭服务了。。。。。

热点排行