Jetty作为嵌入式服务器使用代码实例

易嵌入性

Jetty 设计之初就是作为一个优秀的组件来设计的,这也就意味着 Jetty 可以非常容易的嵌入到 应用程序当中而不需要程序为了使用 Jetty 做修改。从某种程度上,你也可以把 Jetty 理解为一个 嵌入式的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
jetty还有对应maven插件
maven pom文件的设置:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.10</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<stopKey>foo</stopKey>
<stopPort>9999</stopPort>
</configuration>
<executions>
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<scanIntervalSeconds>0</scanIntervalSeconds>
<daemon>true</daemon>
</configuration>
</execution>
<execution>
<id>stop-jetty</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
然后直接通过mvn jetty:run命令就能直接启动
-----------------------------------------------------------------------------------------
注:
在maven中,用plugin的方式使用jetty,需要改动maven的setting.xml文件,才可以使用命令mvn jetty:run.
setting.xml中找到标签<pluginGroups>,增加:
<pluginGroup>org.mortbay.jetty</pluginGroup>

转载于:https://my.oschina.net/u/139611/blog/112493

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值