Jetty

今天偶然碰到这个web容器,在次记录一下

在eclipse中使用jetty

一直以来使用jetty作为我的web开发配置服务器,开始的时候和所有的初学者一样使用tomcat作为开发服务器,可用着用着,感觉tomcat越来越繁琐以及庞大。后来,用了jboss,知道jboss使用jetty作为其web应用服务器,所以就开始试着使用jetty。从那开始后,jetty就成为我的开发配置服务器了,从最初的4.0,到现在的6.0一直在使用着。

   喜欢jetty的原因,在于其的方便,简单的配置文件,简单的启动脚本,而且在elipse或者其他ide中,进行调试,运行都很方便。

   不想多说什么,让事实来说话吧。在开始之前,先下载jetty。目前最新的版本为6.1:
   http://docs.codehaus.org/display/JETTY/Downloading+and+Installing#download

   以前的版本文件是比较小的,现在的版本增加了很多东东,主要是很多例子应用,以及源码,经过删减只有,整个应用还是比较小的,大概也就10m多了。如果只是需要运行web应用,并且只是需要jsp 2.1规范的话,只有7m多了。以前4.0的时候只有2m多,现在也已经增加了那么多了,时代在进步,没有办法。

   jetty主要的jar为jetty-6.1.1.jar,servlet-api-2.5-6.1.1.jar,jetty-util-6.1.1.jar。启动的jar 为start.jar。还有jsp规范的jar。jsp2.1,好像已经减了不少的jar了,只有4个文件core-3.1.1.jar,ant-1.6.5.jar,jsp-2.1.jar,jsp-api-2.1.jar。core是使用eclipse的jdt,进行jsp编译。

   jetty的主要配置文件为etc/jetty.xml,当然你可以自己指定别的文件。在start.jar中有个start.config文件是默认的环境配置,以及指定默认的配置文件。可以手工替换。

   启动jetty很简单,在命令行下面java -jar start.jar
   如果需要指定start.config,使用java -DSTART=start.config -jar start.jart
   配置web 应用也非常的简单:
   更改jetty.xml就行了,增加web应用的方式包括,直接放置应用在webapps下面,或者配置以下的context

  

< New  id ="Mywork"  class ="org.mortbay.jetty.webapp.WebAppContext" >
      
< Arg >< Ref  id ="contexts" /></ Arg >
      
<!--  绝对路径,可以指定相对路径,增加 <SystemProperty name="jetty.home" default="."/> 就行 -->
      
< Arg > D://project//work//m2project//esoft//esoft-mywork-jsf//src//main//webapp </ Arg >
      
< Arg > /mywork </ Arg >
      
< Set  name ="defaultsDescriptor" >< SystemProperty  name ="jetty.home"  default ="." />
/etc/webdefault.xml </ Set >
      
< Set  name ="virtualHosts" >
        
< Array  type ="java.lang.String" >
          
< Item > localhost </ Item >
        
</ Array >
      
</ Set >
      
    
</ New >



要想改变原先的webapps主应用,改变下面的配置

< Call  class ="org.mortbay.jetty.webapp.WebAppContext"  name ="addWebApplications" >
      
< Arg >< Ref  id ="contexts" /></ Arg >
      
< Arg >< SystemProperty  name ="jetty.home"  default ="." /> /webapps </ Arg >
      
< Arg >< SystemProperty  name ="jetty.home"  default ="." /> /etc/webdefault.xml </ Arg >
      
< Arg  type ="boolean" > True </ Arg >    <!--  extract  -->
      
< Arg  type ="boolean" > False </ Arg >   <!--  parent priority class loading  -->
 
</ Call >



默认的web.xml配置文件为webdefault.xml
如果想配置相应的web参数,可以更改其应用。

默认的端口为8080,如果想修改,更改:jetty.port属性


    
< Call  name ="addConnector" >
      
< Arg >
          
< New  class ="org.mortbay.jetty.nio.SelectChannelConnector" >
            
< Set  name ="port" >< SystemProperty  name ="jetty.port"  default ="8080" /></ Set >
            
< Set  name ="maxIdleTime" > 30000 </ Set >
            
< Set  name ="Acceptors" > 2 </ Set >
            
< Set  name ="confidentialPort" > 8443 </ Set >
          
</ New >
      
</ Arg >
    
</ Call >




简单的配置,简单的启动,

在eclipse中使用jetty是非常简单的,对于其他的ide配置基本上都一致。以前如果想调试web服务,必须要在庞大的开发插件下进行,如myeclipse,其实只是需要简单的功能,然而却不得不接受许多不常用的功能。没有办法,现在有了jetty,如果你只想调试web服务而已,那么请离开那些庞大的开发插件。简单的事情,用简单的方式处理。
 
    首先创建一个web项目,我是采用maven 创建的,用了maven,就喜欢上了,而且正在享受其带来的方便。如下图的目录结构:

 

    在web-inf中可以不需要放置jar文件,因为你是在eclipse中运行,自动会增加相应的classpath中的jar。只是需要把相应的jsp文件放置在webapp中。
    接着增加相应的jetty.jar,本来我是采用maven直接增加的,为了清晰的方式,采用手工增加。毕竟这些jar,我是不需要的。如下图

 

    默认,我使用jsp2.1规范,如果需要jsp2.0,可以只增加相应的jsp2.0文件中的jar。
    接下来,就配置run application。增加一个java application run.如下图

 

    记得勾上include libraries when...
    主要的main class:org.mortbay.xml.XmlConfiguration
    最后配置相应的参数:
    program 参数为:etc/jetty-mywork-spring.xml,别忘了设置working directory为相应的jetty目录。如下图

 

    最后记得不要忘了在etc/jetty-mywork-spring.xml,增加相应的web 应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值