Start web container(Jetty) using code

1) Dependencies

required:
-------------------------------------------------
geronimo-servlet_2.5_spec-1.2.jar
jetty-6.1.18.jar
jetty-util-6.1.18.jar

optional:
-------------------------------------------------
slf4j-api-1.5.6.jar
slf4j-jdk14-1.5.6.jar


2)
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Handler;
import org.mortbay.jetty.handler.DefaultHandler;
import org.mortbay.jetty.handler.HandlerCollection;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.webapp.WebAppContext;

/**
* Starts up a servlet container(Jetty) and adds the web application in web directory to it.
*
* @author louis
*/
public class Server {
private int port = 8088;
private String webDir = "web";
private String contextPath = "/RestHelloWorld";

protected Server() throws Exception {
System.out.println("Starting Server");

org.mortbay.jetty.Server server = new org.mortbay.jetty.Server();
//1) Set Connector
SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(port);
server.setConnectors(new Connector[] {connector});

//2) Set Context Path
WebAppContext webappcontext = new WebAppContext();
webappcontext.setContextPath(contextPath);

//3) Set War
webappcontext.setWar(webDir);

//4) Set handler
HandlerCollection handlers = new HandlerCollection();
handlers.setHandlers(new Handler[] {webappcontext, new DefaultHandler()});
server.setHandler(handlers);

//5) Start
server.start();
System.out.println("Server ready...");
server.join();
}

public static void main(String args[]) throws Exception {
new Server();
}
}


3) client-beans.xml

<property name="address" value="http://localhost:8088/RestHelloWorld"/>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章