Looking for jetty Keywords? Try Ask4Keywords

jettyErste Schritte mit Steg


Bemerkungen

Jetty ist ein Open-Source-Projekt, das einen einfachen HTTP-Server, einen HTTP-Client und einen javax.servlet-Container bereitstellt.

Das Jetty-Projekt wird von der Eclipse Foundation gehostet und kann unter folgender Adresse abgerufen werden : https://www.eclipse.org/jetty/ . Die Jetty-Seite von Eclipse enthält Downloads für die neuesten Jetty-Versionen sowie offizielle Dokumentation und JavaDocs .

Die Codebasis für Jetty wird auf GitHub gehostet .

Jetty installieren und ausführen

In diesem Beispiel wird davon ausgegangen, dass der Benutzer Jetty als Verteilung ausführt. Informationen zum Ausführen von Jetty als eingebettetem Webserver finden Sie in der offiziellen Dokumentation .

Jetty kann von hier heruntergeladen werden und ist in den Formaten .zip und .gzip verfügbar. Aktuelle Versionen von Jetty erfordern die Installation von Java 1.8, die auf der Oracle-Website erhältlich ist .

Extrahieren Sie die Distribution in ein Verzeichnis Ihrer Wahl. Im folgenden Beispiel wird dieses Verzeichnis als $ JETTY_HOME bezeichnet. Um Jetty zu starten, starten Sie einfach die Datei start.jar in der Distribution von der Befehlszeile aus:

$ cd $JETTY_HOME
$ java -jar start.jar
 

Wenn Sie dies aus dem Verzeichnis $ JETTY_HOME ausführen, wird eine Ausgabe ähnlich der folgenden erzeugt:

2016-07-25 09:24:46.019:INFO::main: Logging initialized @313ms
2016-07-25 09:24:46.068:WARN:oejs.HomeBaseWarning:main: This instance of Jetty is not running from a separate {jetty.base} directory, this is not recommended.  See documentation at http://www.eclipse.org/jetty/documentation/current/startup.html
2016-07-25 09:24:46.191:INFO:oejs.Server:main: jetty-9.3.11.v20160721
2016-07-25 09:24:46.207:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///Users/user/installs/repository/jetty-distribution-9.3.11.v20160721/webapps/] at interval 1
2016-07-25 09:24:46.226:INFO:oejs.AbstractConnector:main: Started ServerConnector@735f7ae5{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2016-07-25 09:24:46.227:INFO:oejs.Server:main: Started @521ms
 

Der Server läuft, es wird jedoch ein Fehler 404 angezeigt, wenn Sie Ihren Browser auf localhost: 8080 zeigen.

In der obigen Ausgabe wird eine Warnung ausgegeben, dass der Server im Verzeichnis $ JETTY_HOME ausgeführt wird. In Jetty 9.1 wurde das Konzept eines Jetty-Home-Verzeichnisses und eines Jetty-Base-Verzeichnisses (oder Verzeichnisse) eingeführt. Die Grundvoraussetzung ist, dass das Jetty-Home-Verzeichnis der Standard für alle Serverdateien ist. Es enthält alle Dateien, die zum Ausführen des Servers erforderlich sind, sowie die Standardwerte für alle Servererweiterungen. Das Jetty Base-Verzeichnis (oder die Verzeichnisse) dienen zum Verwalten Ihrer Jetty-Instanz (en) und enthalten alle Webanwendungen, Drittanbieter-Plug-Ins und Anpassungen für Ihren Server. Weitere Informationen finden Sie in der offiziellen Dokumentation zu Managing Jetty Base und Jetty Home .

Die Jetty-Distribution enthält ein Basisverzeichnis mit mehreren bereits konfigurierten Webanwendungen. Dieses Verzeichnis wird passenderweise als Demo-Basis bezeichnet :

$ cd demo-base
$ java -jar $JETTY_HOME/start.jar
2016-07-25 09:25:48.435:INFO::main: Logging initialized @316ms
2016-07-25 09:25:48.645:WARN::main: demo test-realm is deployed. DO NOT USE IN PRODUCTION!
2016-07-25 09:25:48.647:INFO:oejs.Server:main: jetty-9.3.11.v20160721
2016-07-25 09:25:48.662:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///Users/user/installs/repository/jetty-distribution-9.3.11.v20160721/demo-base/webapps/] at interval 1
2016-07-25 09:25:48.923:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=81ms
2016-07-25 09:25:49.078:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@527740a2{/proxy,file:///private/var/folders/h6/yb_lbnnn11g0y1jjlvqg631h0000gn/T/jetty-0.0.0.0-8080-xref-proxy.war-_xref-proxy-any-1184996072304577986.dir/webapp/,AVAILABLE}{/xref-proxy.war}
2016-07-25 09:25:49.083:INFO:oejsh.ContextHandler:main: Started o.e.j.s.h.MovedContextHandler@229d10bd{/oldContextPath,null,AVAILABLE}
2016-07-25 09:25:49.166:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=34ms
2016-07-25 09:25:49.168:WARN::main: test-spec webapp is deployed. DO NOT USE IN PRODUCTION!
2016-07-25 09:25:49.238:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@647fd8ce{/test-spec,[file:///private/var/folders/h6/yb_lbnnn11g0y1jjlvqg631h0000gn/T/jetty-0.0.0.0-8080-test-spec.war-_test-spec-any-195142828825451628.dir/webapp/, jar:file:///private/var/folders/h6/yb_lbnnn11g0y1jjlvqg631h0000gn/T/jetty-0.0.0.0-8080-test-spec.war-_test-spec-any-195142828825451628.dir/webapp/WEB-INF/lib/test-web-fragment-9.3.11.v20160721.jar!/META-INF/resources],AVAILABLE}{/test-spec.war}
2016-07-25 09:25:49.259:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=15ms
2016-07-25 09:25:49.284:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@55b7a4e0{/,file:///Users/user/installs/repository/jetty-distribution-9.3.11.v20160721/demo-base/webapps/ROOT/,AVAILABLE}{/ROOT}
2016-07-25 09:25:49.323:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=16ms
2016-07-25 09:25:49.325:WARN::main: test-jaas webapp is deployed. DO NOT USE IN PRODUCTION!
2016-07-25 09:25:49.349:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@a514af7{/test-jaas,file:///private/var/folders/h6/yb_lbnnn11g0y1jjlvqg631h0000gn/T/jetty-0.0.0.0-8080-test-jaas.war-_test-jaas-any-6378488515259627366.dir/webapp/,AVAILABLE}{/test-jaas.war}
2016-07-25 09:25:49.436:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=28ms
2016-07-25 09:25:49.438:WARN::main: test-jndi webapp is deployed. DO NOT USE IN PRODUCTION!
2016-07-25 09:25:49.476:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@3febb011{/test-jndi,file:///private/var/folders/h6/yb_lbnnn11g0y1jjlvqg631h0000gn/T/jetty-0.0.0.0-8080-test-jndi.war-_test-jndi-any-5492379371528358988.dir/webapp/,AVAILABLE}{/test-jndi.war}
2016-07-25 09:25:49.553:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=38ms
2016-07-25 09:25:49.555:WARN::main: async-rest webapp is deployed. DO NOT USE IN PRODUCTION!
2016-07-25 09:25:49.576:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@36fc695d{/async-rest,[file:///private/var/folders/h6/yb_lbnnn11g0y1jjlvqg631h0000gn/T/jetty-0.0.0.0-8080-async-rest.war-_async-rest-any-7692963153880036981.dir/webapp/, jar:file:///private/var/folders/h6/yb_lbnnn11g0y1jjlvqg631h0000gn/T/jetty-0.0.0.0-8080-async-rest.war-_async-rest-any-7692963153880036981.dir/webapp/WEB-INF/lib/example-async-rest-jar-9.3.11.v20160721.jar!/META-INF/resources],AVAILABLE}{/async-rest.war}
2016-07-25 09:25:49.669:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=34ms
2016-07-25 09:25:49.670:WARN::main: test webapp is deployed. DO NOT USE IN PRODUCTION!
2016-07-25 09:25:49.913:INFO:oejsh.ManagedAttributeListener:main: update PushFilter null->org.eclipse.jetty.servlets.PushCacheFilter@4e0ae11f on o.e.j.w.WebAppContext@5dda768f{/test,file:///private/var/folders/h6/yb_lbnnn11g0y1jjlvqg631h0000gn/T/jetty-0.0.0.0-8080-test.war-_test-any-2157501520644819622.dir/webapp/,STARTING}{/test.war}
2016-07-25 09:25:49.921:INFO:oejsh.ManagedAttributeListener:main: update QoSFilter null->org.eclipse.jetty.servlets.QoSFilter@376a0d86 on o.e.j.w.WebAppContext@5dda768f{/test,file:///private/var/folders/h6/yb_lbnnn11g0y1jjlvqg631h0000gn/T/jetty-0.0.0.0-8080-test.war-_test-any-2157501520644819622.dir/webapp/,STARTING}{/test.war}
2016-07-25 09:25:49.922:WARN:oeju.DeprecationWarning:main: Using @Deprecated Class org.eclipse.jetty.servlets.MultiPartFilter
2016-07-25 09:25:49.941:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@5dda768f{/test,file:///private/var/folders/h6/yb_lbnnn11g0y1jjlvqg631h0000gn/T/jetty-0.0.0.0-8080-test.war-_test-any-2157501520644819622.dir/webapp/,AVAILABLE}{/test.war}
2016-07-25 09:25:49.952:INFO:oejs.AbstractConnector:main: Started ServerConnector@74f6c5d8{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2016-07-25 09:25:49.957:INFO:oejus.SslContextFactory:main: x509=X509@43015c69(jetty,h=[jetty.eclipse.org],w=[]) for SslContextFactory@19b89d4(file:///Users/user/installs/repository/jetty-distribution-9.3.11.v20160721/demo-base/etc/keystore,file:///Users/user/installs/repository/jetty-distribution-9.3.11.v20160721/demo-base/etc/keystore)
2016-07-25 09:25:49.958:INFO:oejus.SslContextFactory:main: x509=X509@4bbf6d0e(mykey,h=[],w=[]) for SslContextFactory@19b89d4(file:///Users/user/installs/repository/jetty-distribution-9.3.11.v20160721/demo-base/etc/keystore,file:///Users/user/installs/repository/jetty-distribution-9.3.11.v20160721/demo-base/etc/keystore)
2016-07-25 09:25:49.968:INFO:oejs.AbstractConnector:main: Started ServerConnector@13608c15{SSL,[ssl, http/1.1]}{0.0.0.0:8443}
2016-07-25 09:25:49.968:INFO:oejs.Server:main: Started @1850ms
 

Wenn Sie jetzt in Ihrem Browser auf localhost: 8080 zeigen , sehen Sie eine Jetty-Begrüßungsseite mit mehreren Links zu Beispiel-Webanwendungen sowie Links zu der offiziellen Jetty-Dokumentation und den Benutzergruppen. HINWEIS : Die mit der Jetty-Distribution gelieferten Webanwendungen sind nicht als sicher oder vollständig funktionsfähig konzipiert. Sie werden nur als Beispiele bereitgestellt. Die Verwendung in Produktionsumgebungen wird nicht empfohlen.

Herzliche Glückwünsche! Sie haben einen Jetty-Webserver installiert und gestartet. Weitere Anweisungen zur Konfiguration Ihres Servers und für fortgeschrittenere Themen finden Sie in der offiziellen Dokumentation.