记得早前写过一个关于 Jetty 6.0 嵌入容器 的用法 ,可那个只是 一个Demo ,现在可以给大家一个我们商业的实例,我想这个应该更有效一些,呵呵,其实我是没什么时间写东西,但又不想技术blog 空荡荡地,让大家失望,所以就给出些案例,其实我很早就阅读过JETTY5 的源码,改明再来把 jetty 6 看看,有时间的话,就写一点关于jetty ,最后祝各位十一快乐、中秋快乐。
package com.imcaller.hsxb.jetty;
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.servlet.Context;
import org.mortbay.jetty.servlet.ServletHolder;
import com.imcaller.hsxb.servlet.HSXBServlet;
import com.imcaller.hsxb.util.HSXBGlobals;
import com.imcaller.hsxb.util.LogUtils;
public class Jetty6EmbededContainer {
private static Server jetty = null;
private static int port;
public static void initialize() {
try {
jetty = new Server();
// Configure http socket listener.
port = HSXBGlobals.getXMLProperty("http.port", 80);
SelectChannelConnector connector=new SelectChannelConnector();
connector.setAcceptQueueSize(8);
connector.setPort(port);
jetty.setConnectors(new Connector[]{connector});
Context context = new Context(jetty,"/hsxb");
context.addServlet(new ServletHolder(new HSXBServlet()), "/*");
jetty.start();
jetty.join();
} catch (Exception e) {
LogUtils.error(e);
}
}
public static void destroy() {
try {
if (jetty != null) {
jetty.stop();
jetty = null;
}
} catch (Exception e) {
LogUtils.error(e);
}
}
}