Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。
Jetty 可以作为嵌入式服务器使用,Jetty的运行速度较快,而且是轻量级的,可以在Java中可以从test case中控制其运行。从而可以使自动化测试不再依赖外部环境,顺利实现自动化测试。
作为嵌入式服务器使用代码实例:
Java代码
//代码:以嵌入模式启动Jetty
import org.mortbay.http.HttpContext;
import org.mortbay.http.HttpServer;
import org.mortbay.http.SocketListener;
import org.mortbay.http.handler.ResourceHandler;
public class JettySample {
public static void main(String[] args) throws Exception {
// 创建Jetty HttpServer对象
HttpServer server = new HttpServer();
// 在端口8080上给HttpServer对象绑上一个listener,使之能够接收HTTP请求
SocketListener listener = new SocketListener();
listener.setPort(8080);
server.addListener(listener);
// 创建一个HttpContext,处理HTTP请求。
HttpContext context = new HttpContext();
// 用setContextPath把Context映射到(/web)URL上。
context.setContextPath("/web");
// setResourceBase方法设置文档目录以提供资源
context.setResourceBase("C:\\j2sdk1.4.1_05");
// 添加资源处理器到HttpContext,使之能够提供文件系统中的文件
context.addHandler(new ResourceHandler());
server.addContext(context);
// 启动服务器
server.start();
}
}
需要的jar包:
commons-logging.jar
javax.servlet.jar
org.mortbay.jetty.jar
org.mortbay.jmx.jar