Minulla on Servlet, joka palauttaa HTML koodia selaimeen - kaikki toimii ihan hyvin.
Seuraavaksi haluaisin lisätä style sheettiin viittauksen tuohon palautettavaan HTML streamiin. Eli, sinne tulee linkki omalle serverilleni josta se style sheet sitten pitäisi ladata.
Kuinka teen sen? Silloinhan servlettini pitäisi toimia periaatteessa kuin web serveri koska se vain palauttaa haettaessa tuon tiedoston.
Voisin tehdä tämän niin, että servlettiä kutsutaan jollakin attribuutilla esim. /polku/servletinnimi?command=getstylesheet ja palautan streamin tuohon tiedostoon mutta minä haluaisin tehdä tästä vähän geneerisimmän.
Tavoite olisi se, että voin laittaa minkä tahansa tiedoston/polun servletin polun jälkeen ja palautan sitten aina sen (esim. /polku/servletinnimi/huuhaa.txt).
Yritin tuolla request.getServletPath() yms. ja sitten kutsuin servlettiäni mutta se ei hyväksynyt tuota ylimääräistä polkua servletin polun jälkeen. Minä käytän Tomcat:ä standalone ja webbiserveriä ei ole.
Kiitokset vastauksista jo etukäteen.
Seuraavaksi haluaisin lisätä style sheettiin viittauksen tuohon palautettavaan HTML streamiin. Eli, sinne tulee linkki omalle serverilleni josta se style sheet sitten pitäisi ladata.
Kuinka teen sen? Silloinhan servlettini pitäisi toimia periaatteessa kuin web serveri koska se vain palauttaa haettaessa tuon tiedoston.
Voisin tehdä tämän niin, että servlettiä kutsutaan jollakin attribuutilla esim. /polku/servletinnimi?command=getstylesheet ja palautan streamin tuohon tiedostoon mutta minä haluaisin tehdä tästä vähän geneerisimmän.
Tavoite olisi se, että voin laittaa minkä tahansa tiedoston/polun servletin polun jälkeen ja palautan sitten aina sen (esim. /polku/servletinnimi/huuhaa.txt).
Yritin tuolla request.getServletPath() yms. ja sitten kutsuin servlettiäni mutta se ei hyväksynyt tuota ylimääräistä polkua servletin polun jälkeen. Minä käytän Tomcat:ä standalone ja webbiserveriä ei ole.
Kiitokset vastauksista jo etukäteen.
Vastaukset 2
Vanhimmat
Etkö voi kutsua servlettiä kahdella argumentilla tyyliin servletsejase?command=getfile&filename=huuhaa.txt
Ja jos huuhaa.txt on jonkin omituisen polun päässä, niin onhan periaatteessa mahdollista laittaa kolmanneksi parametriksi myös polku. Itse en kuitenkaan tekisi tuollaista viritystä. On meinaan aika vaarallista sallia tuollainen hakemistojen selailu. Eikä koskaan voi tietää, miten ihmiset sörkkivät urleja.
Parempi kontrolloida itse sitä, mitä tiedostoja muille näyttää. Ihan hyvä systeemi on pitää jaettavista tiedostoista erillistä tietokantataulua, jolloin kannan toteutus peittää tiedostonimen sekä hakemiston. Kukin file saa id:n, jota voi sitten käyttää tuossa servlet-parametrissa näin: servletsejase?command=getfile&fileid=234 (jossa siis 234 viittaa tietty huuhaa.txt:iin jossain Allahin hylkäämässä hakemistossa)
TioMS
Noin mä tein jo kuvienkin kanssa, täytyy varmaan lisätä sama palvelu noille muutamille tiedostoille joita tarvitsen.
Kiitos.