在这个"百花齐花"的地方,总能挑到你满意的!
Tomcat、Jetty、GlassFish、Weblogic、Apusic、Websphere.....,这么多应用服务器,各有各的优点!萝卜青菜各有所爱!我知道大部分同学都是偏爱 Tomcat的,因为他足够简单,IDE对他的支持又很够意思!我个人之前也很喜欢Tomcat,但当我遇到她时,我改变了主意。她就是Jetty !
Jetty最大的亮点就是易嵌入性,他开放了API接口,可以很轻易的集成到应用程序中去!
Leopard提供在开发环境使用Jetty做为应用服务器,Leopard对Jetty做了封装,只需要简单的一行代码就能将应用服务器起动来,如下:
package io.leopard;
import io.leopard.jetty.JettyServer;
import org.junit.Ignore;
@Ignore
public class JettyTest {
public static void main(String[] args) throws Exception {
JettyServer.start();
}
}
就是这么简单! 一个java类,可以右键运行,也可以右键debug ! 且已经支持热编译,即在容器运行的时候,修改java类不需要重新启动容器!
Leopard对Jetty做了深层次优化,启动Jetty仅需要3s,这个速度实在太快了!
此时我深吸了一口烟,我决定再留一晚!
JettyServer 提供了二种方式启动Jetty, 默认启动为80端口,也可以指定端口启动。如下:
package io.leopard;
import io.leopard.jetty.JettyServer;
import org.junit.Ignore;
@Ignore
public class JettyTest {
public static void main(String[] args) throws Exception {
JettyServer.start(8080);
}
}
如果端口被占用,将会抛出java.net.BindException异常。
另外JettyTest会去查找/src/main/webapp目录,如果是非web项目或者不存在/src/main/webapp项目,都会抛出异常!