Aloitteleva

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.
2250
Äänestä

Muut lukivat myös

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

Äänestä
  • Noin mä tein jo kuvienkin kanssa, täytyy varmaan lisätä sama palvelu noille muutamille tiedostoille joita tarvitsen.

    Kiitos.

    Äänestä

Kommentoi aloitusta


Servlet koodaaja kirjoitti:

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.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu