Jetty和Tomcat都是一种webserver/servlet容器。
1.jetty更轻量级,更灵活。
2.Jetty更适用于公有云的分布式环境的需求,Tomcat更符合企业级环境。
java -jar start.jar 启动jetty server。
配置文件
/etc/jetty-webapps.xml jetty默认将所有的web app都放在/webapps目录下。
在start.jar中有个start.config是默认的环境配置,可以手工替换。
指定start.config启动:
java -DSTART=start.config -jar start.jar
部署web应用程序
Webapps目录部署,WebAppProvider定时扫描/webapps目录自动部署。如果与contexts目录下同名则webapp让步于contexts部署方式。
contexts目录部署,ContextProvider定时扫描/contexts目录中的配置文件,自动配置。
contexts目录和webapps目录两种部署方式要避免重复。
1.对于war包的部署,将war文件放到/webapps目录下。
2.对于web应用程序目录的部署,将web应用程序目录复制到/webapps/<myapp>目录下,修改/contexts/<myapp>.xml文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/myapp</Set>
<Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/myapp</Set>
</Configure>
启动
1.servlet启动

2.webapp启动

3.运行war文件
public static void main(String[] args) throws Exception {
Server server=new Server();
QueuedThreadPool tp=new QueuedThreadPool();
tp.setMaxThreads(200);
server.setThreadPool(tp);
SocketConnector connector=new SocketConnector();
connector.setMaxIdleTime(1000 * 60 * 60);
connector.setSoLingerTime(-1);
connector.setPort(8089);
server.addConnector(connector);
WebAppContext context = new WebAppContext();
context.setContextPath("/");
context.setWar("F:\\jetty-7.6.17\\webapps\\test.war");
context.setServer(server);
HashLoginService dummyLoginService = new HashLoginService("TEST-SECURITY-REALM");
context.getSecurityHandler().setLoginService(dummyLoginService);
server.setHandler(context);
server.start();
server.join();
}
public static void main(String[] args) throws Exception {
Server server=new Server();
QueuedThreadPool tp=new QueuedThreadPool();
tp.setMaxThreads(200);
server.setThreadPool(tp);
SocketConnector connector=new SocketConnector();
connector.setMaxIdleTime(1000 * 60 * 60);
connector.setSoLingerTime(-1);
connector.setPort(8090);
server.addConnector(connector);
WebAppContext context = new WebAppContext();
context.setContextPath("/myapp");
context.setDescriptor("E:\\java\\test\\WEB-INF\\web.xml");
context.setResourceBase("E:\\java\\test");
context.setParentLoaderPriority(true);
HashLoginService dummyLoginService = new HashLoginService("TEST-SECURITY-REALM");
context.getSecurityHandler().setLoginService(dummyLoginService);
server.setHandler(context);
server.start();
server.join();
}