出色的Web服务器Jetty

JayFighting 2011-12-05

Jetty是Java领域另一个出色的Web服务器,它同样也是开源的。与tomcat不同的是它可作为一个嵌入式服务器。也就是说,如果我们在应用中加入jetty的核心jar文件,应用即可对外提供http服务。它同时也是平台无关的java web服务器,既可以在Windos平台上运行,也可以在Linux平台上运行。

大家可以登录http://jetty.codehaus.org/jetty/站点下载Jetty的最新版本。下载的zip文件也是与平台无关的压缩包,不管是windows还是Linux都可使用。

将下载的安装zip包,解压缩到任意的路径下。运行Jetty需要使用如下命令:

cd D:/jetty

D:

java -jar start.jar

建议将上面的命令写成脚本,在windows下可写成批处理命令,在linux下可写成shell脚本。每次运行执行该文件就可以了。

运行成功后,启动浏览器,然后输入http://localhost:8080/回车,看看是否成功。如果不成功首先要保证端口8080是否被占用,真的被占用那就配置一下Jetty的端口,下面会介绍的。

1.Jetty的基本配置

主要介绍Jetty的端口设置,以及如何部署Web应用,Jetty是一个嵌入式的Http服务器,因此配置方式还是与tomcat有一些差异的:

Jetty的配置文件都会在etc的目录下,熟悉linux的目录的人应该很眼熟,呵呵。该目录下有如下几类配置文件:

1.jetty.xml:该文件是Jetty的默认配置文件,Jetty的端口号也是在这个文件里设置的。

2.jetty-xxx.xml:该文件是为了给Jetty增加扩展应用所用的配置文件。

3.webdefault.xml:该文件是Web应用的默认配置文件,用于控制Jetty容器里所有Web应用的通用属性,该文件不可以修改。

Jetty服务器提供HTTP服务的主类是org.mortbay.jetty.Server,所以etc路径下的文件都需要为org.mortbay.jetty.Server配置属性。如下所示:

  1. <Configure id="Server" class="org.eclipse.jetty.server.Server"> 
  2.  
  3.  <!-- =========================================================== --> 
  4.     <!-- Set connectors                                              --> 
  5.     <!-- =========================================================== --> 
  6.  
  7.     <Call name="addConnector"> 
  8.       <Arg> 
  9.           <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> 
  10.             <Set name="host"><Property name="jetty.host" /></Set> 
  11.             <Set name="port"><Property name="jetty.port" default="8080"/></Set> 
  12.             <Set name="maxIdleTime">300000</Set> 
  13.             <Set name="Acceptors">2</Set> 
  14.             <Set name="statsOn">false</Set> 
  15.             <Set name="confidentialPort">8443</Set> 
  16.         <Set name="lowResourcesConnections">20000</Set> 
  17.         <Set name="lowResourcesMaxIdleTime">5000</Set> 
  18.           </New> 
  19.       </Arg> 
  20.     </Call> 

Jetty的配置文件非常巧妙,它通过配置文件来新建对象(New元素),调用对象的方法(Call元素),设置属性(Set元素控制)。实际上,Jetty底层将会根据配置文件中的信息,使用反射来创建对象,设置属性和调用方法。由此可见,如果我们需要在应用程序中嵌入Jetty服务器,只需要创建org.mortbay.jetty.Server对象,并调用一些列方法即可。

Jetty 的详细介绍:请点这里
Jetty 的下载地址:请点这里

推荐阅读:

相关推荐