jetty 官网 :http://www.eclipse.org/jetty/documentation/current/embedding-jetty.html#d0e19086
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.NCSARequestLog;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.ContextHandler;
import org.eclipse.jetty.server.handler.HandlerList;
import org.eclipse.jetty.server.handler.RequestLogHandler;
import org.eclipse.jetty.server.nio.SelectChannelConnector;
import org.eclipse.jetty.util.thread.QueuedThreadPool;
Server server = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(port);
connector.setMaxIdleTime(300000);
// 10M
connector.setRequestHeaderSize(1024 * 1024 * 10);
connector.setThreadPool(new QueuedThreadPool(20));
connector.setName("jetty");
server.addConnector(connector);
ContextHandler context = new ContextHandler();
context.setContextPath("/");
context.setResourceBase(".");
context.setClassLoader(Thread.currentThread().getContextClassLoader());
server.setHandler(context);
HandlerList handlers = new HandlerList();
try {
RequestLogHandler classPathLog = new RequestLogHandler();
String classPath = "" ;
try {
//class path
classPath = this.getClass().getResource("/").getPath() ;
File logFile = new File(classPath+File.separatorChar+"jetty.log") ;
classPathLog.setRequestLog( new NCSARequestLog(logFile.getAbsolutePath()) ) ;
} catch (Exception e) {
System.err.println( "Can not create log in the "+classPath);
}
handlers.setHandlers(new Handler[] { classPathLog }); // set handler ,deal with the request
context.setHandler(handlers);
context.setHandler(handlers);
server.start();