webForumDet fria alternativet

Tomcat virtual directory

Java

4 svar · 496 visningar · startad av antilizaer

Medlem sedan apr. 200357 inlägg
Frågan#1

Hejsan!

Går det att sätta upp "virtual directories" i Tomcat? Har två applikationer som svarar under https://www.site1.se resp www.site2.se. Båda sajterna använder sig av samma bilder så för att slippa lägga upp samma bild på två ställen så skulle jag vilja kunna skapa ett "virtual directory" images som går till t ex mappen c:\www\images är detta möjligt att göra i Tomcat.

Det måste även gå att köra:

String path = pageContext.getServletContext().getRealPath("/images");

från en jsp sida för sen görs en kontroll att bilden verkligen finns rent fysikiskt på disk, för att undvika att visa bilder som inte finns.

Har tidigare kört lösningen på Linux och där kan man ju göra en symlänk och få det att fungera, men nu ska allt flyttas till en Windows 2003 Web Edition och där finns det väl inget som motsvarar symboliska länkar eller?

Har letat men inte funnit något hur man konfa detta i Tomcat eller så har jag letat på fel ställe, någon här som vet om det går och i så fall hur?

Medlem sedan sep. 2001961 inlägg
#2

Finns (minst) 2 sätt att göra det på.
1. Gör samma på Windows, d.v.s. gör en länk till den katalog som du behöver komma åt. (FULT)
2. Gör en ny host i den context som används.

<Host name="lime.com">
<Context path="" docBase="C:/www/hosts/lime.com/webapps" reloadable="true" debug="0" />
<Context path="/images" docBase="C:/www/hosts/shared/images" />
</Host>

<Host name="lemmon.com">
<Context path="" docBase="C:/www/hosts/lemmon.com/webapps" reloadable="true" debug="0" />
<Context path="/images" docBase="C:/www/hosts/shared/images" />
</Host>

Båda funkar.

Medlem sedan apr. 200357 inlägg
#3

Tackar! Funkar bra med att visa bilderna, dock så funkar det inte med att köra getRealPath(...). Får nog lösa den bit med hjälp av en absoultadress till bildkatalogen som läses från en property fil, eller ska det fungera med getRealPath(...) !? Images ligger ju nu i en annan context än jsp sida som kör getRealPath() metoden, så därför är väl inte ServletContext objektet medvetet om images katalogen eller tänker jag fel nu...

Medlem sedan apr. 200357 inlägg
#4

Hittade hur man skulle göra, efter lite letandet i Tomcats "Server Configuration Reference"

1. Sätt: crossContext="true" i <Context> taggen i server.xml för Tomcat
2. Kör följande kod i jsp sidan:

pageContext.getServletContext().getContext("/images").gerRealPath("filnamn");
Medlem sedan sep. 2001961 inlägg
#5

Just det. Förlåt mig, den detaljen glömde jag.

259 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)