Jetty-servlet-url und port
Was ist die Methode aufrufen, um herauszufinden, was ist die url und den port ein jetty-servlet ausgeführt wird? So, dass ich nur drucken Sie es auf dem Bildschirm, und verwenden Sie es in der client eine Verbindung herstellen:
url = new URL("trying to figure this out");
Ich bin sowohl der client und der server lokal, in eclipse ist dies ein Schulprojekt.
Relevante code:
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.DefaultServlet;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
public class ServerMain {
public static void main(String[] args){
Server server = new Server();
ServletContextHandler context =
new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("Servlet");
context.setResourceBase("etc/docroot");
server.setHandler(context);
context.addServlet(new ServletHolder(new MyServer()), "/game");
DefaultServlet staticFileServlet = new DefaultServlet();
context.addServlet(new ServletHolder(staticFileServlet), "/*");
System.out.println("context: " + context.getContextPath());
//System.out.println("One valid Port = "
+ context.getServer().getConnectors()[0].getPort());
try {
server.start();
server.join();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir nicht sicher, was Sie Fragen hier, aber wenn Sie hatte einige servlet-ich.e Hallo :
Außerdem ist dies nicht die info, was Sie suchen, finden Sie diese :
http://docs.oracle.com/javaee/1.4/api/javax/servlet/http/HttpServletRequest.htmlhttp://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.6/api/javax/servlet/http/HttpServletRequest.html
http://localhost:8080/game
Seit Sie dabei sind, dieses eingebettete Sie haben ein paar Optionen.
Server server = new Server(8080);
Diese startet den server auf port 8080, das ist in Ordnung, wenn das ist, was Sie wollen, aber in der unit tests im Allgemeinen werden Sie wollen, dass dies eine zufällige port-Probleme zu vermeiden, die mit Sachen wie CI oder parallele tests stolpern über einander.
Server server = new Server(0);
Dadurch starten Sie den connector auf einem zufälligen port, aber wie kommt man den port?
server.getConnectors()[0].getLocalPort();
Der Hafen wirklich aus dem Stecker, und in der Regel Sie nur einrichten ein Stecker hier, also bekommt Sie diesen port.
Nun localhost funktioniert zum testen gut, aber wenn Sie wollten, dass der name des Hosts, auf dem der connector auf diese:
server.getConnectors()[0].getHost();
Kette, die Sachen und Sie bekommen, wie wir die meisten unserer unit-Tests im Steg selbst, dreht die server selbst, die Verkabelung, was auch immer hf oder webapps, die wir wollen und dann behaupten, Verhaltensweisen, Anforderungen, Antworten, etc.
Wir haben eine Reihe von embedded-Beispiele hier, die kann man sich für verschiedene Wege zu verdrahten Steg im inneren Codes, und die jetty.xml format ist nur eine dünne Schicht von xml java, so dass Sie können die Karte den Start von jetty ganz einfach durch den code durch Lesen der xml-Datei mit einem java-Hut auf. Es ist ein embedded-Beispiel hier für das bootstrapping jetty basiert auf das xml-format wenn Sie behalten möchten die config dort.
http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/example-jetty-embedded/src/main/java/org/eclipse/jetty/embedded
Für eine gute Seite auf embedding jetty, schau mal hier: http://www.eclipse.org/jetty/documentation/current/embedding-jetty.html
Höchstwahrscheinlich wird der jetty-server läuft auf 8080 als default. Wenn nicht, können Sie gehen und überprüfen Sie die server.xml Datei, die Ihnen sagen sollte, was der port-Konfiguration ist.