2016-08-05 37 views
1

Ich habe untersucht, wie Tomcat und Apache HTTP-Server zu verbinden, weil ich meine Web-Anwendung in eapache apache HTTP-Server 2.2 (derzeit erfolgreich auf meinem eigenen Computer, lokal getestet) geschrieben geschrieben, und meine REST-Service in Java geschrieben hat in Tomcat v6, willIst es möglich, Tomcat nicht mit dem Apache-HTTP-Server zu integrieren UND eine @Injectable-make-Anforderung an das in Tomcat implementierte Servlet zu senden?

und was ich jetzt eingesetzt, dass, wenn eine Komponente geklickt wird, eine hTTP-Anfrage zu machen (wie diese http://localhost:8080/rest/getCars/20130505), die mit dem Servlet verbindet und verwenden Sie die json bereitgestellt, um die Informationen zu verwenden, die in eine andere Komponente.

So die Web-Anwendung auf sich selbst zu testen, habe ich meine eigene URL/json erstellt, aber wie ich schon sagte, ist es möglich, die gleiche Sache zu machen, aber mit einem echten http URI wie kann es hier zu sehen: https://angular.io/docs/ts/latest/guide/server-communication.html#!#cors

Sie verwenden:

let wikiUrl = 'http://en.wikipedia.org/w/api.php'; 

Und ich benutze, von rechts wegen jetzt:

private datesUrl = 'src/example.json'; // URL to web API 

@Injectable() 
getDates(): Observable<Date[]> { 
return this.http.get(this.datesUrl) 
       .map(this.extractData) 
       .catch(this.handleError); 

}

Also ich glaube, mein nächster Schritt wäre, diese datesUrl zu ändern und das http geschrieben oben schreiben: http://localhost:8080/rest/getCars/20130505, so dass es zu Tomcat verbindet.

Aber mein Problem ist, dass ich nicht weiß, ob dies ohne Verbindung zwischen Apache http Server und Tomcat funktioniert. Ich habe gesehen, es gibt Anschlüsse, wie mod_jk und mod_proxy

und so weiter. Ich würde gerne wissen, ob in meinem Fall, wenn ich diese Module für Apache HTTP-Server verwenden muss oder es nicht notwendig ist, da ich noch nie eines davon gesehen habe und die Module installieren erweist sich als eine Herausforderung. Das Endziel des Spiels ist es, von einem lokalen zu einem echten Server zu wechseln, aber soweit ich weiß, ist es nicht nötig, dass jemand von außen die Webseite benutzt, es ist nur für das Geschäft selbst, also mit Zugang zum Server/Ich könnte immer noch auf localhost zugreifen, genauso wie ich es tue, wenn ich es lokal teste.

+1

Wenn Tomcat bereits läuft, welcher Port hört es auf? Haben Sie eine URL, die aktuell die gewünschten Daten zurückgibt, wenn Sie 'curl',' wget' oder einen Browser verwenden? Welche URL ist das? Ist es "http: // localhost: 8080/rest/getCars/20130505"? –

+0

Ja ist es. Ich habe Tomcat auf Port 8080 konfiguriert, wenn ich diese Anfrage bekomme, bekomme ich die JSON zurück, wie erwartet. –

Antwort

0

Sie benötigen keine spezielle Verbindung zwischen dem PHP-Server und dem Tomcat-Server: es ist eine einfache alte HTTP-Anfrage. Tomcat ist es egal, ob Ihr PHP-Skript diese Anfrage gestellt hat oder ob es aus dem offenen Internet stammt.

Im Falle des PHP-Skripts, das die Anfrage macht, macht es seinen Standard-HTTP-Anruf, und es ist egal, dass Sie einen Tomcat-Server lokal oder was auch immer laufen lassen. Mach einfach weiter und mach es. Wenn Tomcat bereits auf HTTP-Anfragen für diese URL antwortet, erfordert der Aufruf von PHP keine weitere Konfiguration.