# Struts - Http Port ändern



## spongebob (12. Nov 2009)

Hallo,

ich habe im Tomcat den Port geändert, die Startseite meiner Anwendung wird auch angezeigt, allerdings steht in sämtlichen links noch die alte portnummer. Ich habe gelesen das ich das über die Property struts.url.http.port ändern kann. Das habe ich auch gemacht, allerdings ohne erfolg. Kann es daran liegen das ich noch eine struts-config.xml habe und die properties datei deshalb nicht ausgewertet wird? Bzw. wie bringe ich Struts dazu in die Links die neue Portnummer einzubauen?

Vielen Dank im voraus


----------



## HLX (17. Nov 2009)

Was machen denn Portnummern in deinen Links? Wie sieht bei dir ein Link mit Portnummer aus?


----------



## spongebob (19. Nov 2009)

z.b. www.example.com:8080/index.do ; wenn ich jetzt im tomcat den port ändere, z.b. auf 8081, ist unter 8081 die selbe seite zu sehen - die links auf der seite haben dann aber immer noch die 8080 in der url.


----------



## HLX (19. Nov 2009)

Existieren diese Links außerhalb oder innerhalb deiner Anwendung?


----------



## spongebob (19. Nov 2009)

Die links gehen auf andere Strutsviews, sind also relative(?) links. Daher verstehe ich auch nicht warum die einzelnen views unter dem neuen Port erreichbar sind, die generierten links in den Views aber den alten Port in der url haben.


----------



## HLX (19. Nov 2009)

In den Struts-Views brauchst du nicht die gesamte URL anzugeben.

Verwende das Tag <html:link> und dort das Attribut "page" um auf eine andere Seite zu verweisen. Page geht vom Wurzelverzeichnis deiner Anwendung aus.

Siehe auch The Struts Framework Project - HTML Tags


----------



## spongebob (19. Nov 2009)

Ich habe die Anwendung übernommen, in den jsp's sehen die links so aus <a href="/<%=Linkgen.HOME %>">..</a>. Der Linkgen liefert nur den relativen Pfad, also <a href="/home">..</a>. Ich kann jetzt nicht alle Views ändern, da es doch vorher auf anderen Systemen auch unter verschiedenen Ports gelaufen ist. Daher ist meine Vermutung das es irgendeine config-Sache ist, in dem gesamten quelltext taucht aber nirgends die alte Portnummer auf.


----------



## HLX (20. Nov 2009)

Die Verwendung des relativen Pfades im "a"-Tag ist auch ok. Wenn du dir den Quelltext im Browser anschaust und hier nur der relative Pfad in den Links zu sehen ist, liegt es nicht an der Anwendung sondern mit Sicherheit an der Konfiguration oder der Laufzeitumgebung.

Dann ist die Ursache nur schwer auszumachen. Vllt. zwischengeschalteter Proxy?


----------



## spongebob (20. Nov 2009)

Im (Html) Quellcode stehen auch nur relative links. Ich habe mal einen 2. Tomcat neu installiert und auf den neuen Port eingestellt; die Beispielanwendungen haben auch alle problemlos funktioniert. Nachdem ich meine Anwendung ins root verzeichnis gepackt habe erschienen seltsamerweise wieder die links mit der alten portnummer - obwohl in den links der Beispielanwendungen überall die neuen standen. daher vermute ich ja das es an der amwendung und nicht am tomcat liegt.

Woran kann ich erkennen ob irgendein proxy im weg ist, bzw. wie könnte ich ihn abstellen?


----------



## HLX (20. Nov 2009)

Lege mal deine Anwendung genau wie die anderen Tomcat-Anwendungen in ein eigenes Unterverzeichis. Durch Unterverzeichnisse kann der Tomcat einer Anwendung bei der Installation einen Kontext zuweisen. So ist es möglich, mehrere Web-Anwendungen gleichzeitig auf dem Server zu betreiben ohne dass sich z.B. gleiche Dateinamen in die Quere kommen.

Einen Proxy hast du entweder selbst installiert (dann weißt du auch wie man ihn abschaltet) oder du betreibst den Tomcat auf der Arbeit - dann wende dich an deinen Systemadministrator.


----------



## spongebob (20. Nov 2009)

Die Anwendung liegt im Verzeichnis ROOT, damit sie unter http:// localhostort/ läuft


----------



## HLX (23. Nov 2009)

Ok. Wenn du alle Schritte in folgendem How-To beachtet hast, sollte deine Anwendung eigentlich keine Probleme bereiten:
HowTo - Tomcat Wiki


----------

