您的位置:首页 > 移动开发

main app方式启动servlet容器(Jetty) 测试web程序

2015-05-24 15:41 417 查看
这种方式debug模式下启动,可以看到全栈的源代码,包括Jetty作为servlet容器里的调用代码。

pom文件添加以下Jetty依赖

<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
<version>8.1.15.v20140411</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>3.0.4</version>
</dependency>


package service;

import org.eclipse.jetty.server.Connector;

import org.eclipse.jetty.server.Handler;

import org.eclipse.jetty.server.handler.DefaultHandler;

import org.eclipse.jetty.server.handler.HandlerCollection;

import org.eclipse.jetty.server.nio.SelectChannelConnector;

import org.eclipse.jetty.webapp.WebAppContext;

public class Server {

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

/**
* Important: This code simply starts up a servlet container and adds
* the web application in src/webapp to it. Normally you would be using
* Jetty or Tomcat and have the webapp packaged as a WAR. This is simply
* as a convenience so you do not need to configure your servlet
* container to see CXF in action!
*/
org.eclipse.jetty.server.Server server = new org.eclipse.jetty.server.Server();

SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(9002);
server.setConnectors(new Connector[] {connector});

WebAppContext webappcontext = new WebAppContext();
webappcontext.setContextPath("/heart");

webappcontext.setWar("src/main/webapp");

HandlerCollection handlers = new HandlerCollection();
handlers.setHandlers(new Handler[] {webappcontext, new DefaultHandler()});

server.setHandler(handlers);
server.start();
System.out.println("Server ready...");
server.join();
}

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


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Jetty