Edelleen servleteistä ja tiedoston lukemisesta

Ei toiminut ei. Kotikoneella toimii, kun loopback(127.0.0.1)-osoitteen kautta testailee, mutta työkoneella ei tiedostosta lukeminen onnistu. Työkoneella siis avoin ip, ja servletti siis tulee oikeaan ip-osoitteeseen. Mikähän tuolle bufferedreaderille tulee antaa poluksi, jotta servletti löytää halutun tekstitiedoston, esimerkiksi testi.txt?
Tekstitiedosto voisi sijaita esim. c-aseman juuressa aluksi.

Tässä vielä pätkä koodia:

try {
reader = new BufferedReader(newInputStreamReader(new FileInputStream("c://testi.txt")));

rivi = reader.readLine();
while(rivi != null) {
rivit[i] = rivi;
osoite = reader.readLine();
response.setContentType("text/plain");

PrintWriter out = response.getWriter();
out.println(osoitteet[i]);
System.out.println(" " osoitteet[i]);
i ;
}
reader.close();

Tuossa olisi siis tarkoitus hakea tekstitiedoston sisältämät rivit string-taulukkoon.
Onko tuohon .txt tiedoston sijainnin ilmoittavaan kohtaan lisättävä jotain?
Rupeaa jo hermot menemään, ei pitäisi olla näin hankalaa...
4222
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

servletit lukea mistä vaan vai onko niillä oikeudet lukea vaan palvelimen hakemistosta?

Työkoneellasi siis on palvelin, jossa servlet pyörii ja samalta koneelta yrität sitten vaikka selaimen kautta käyttää sitä?

Äänestä
  • Työkoneella on siis tomcat 4.1-palvelin, ja yritän samalta koneelta selaimen kautta käyttää sitä.

    Kuinkas nuo servletin luku-oikeudet voi tarkastaa? Muutetaanko niitä tomcatin asetuksista, eli pitäisi tomcatin asetuksista muuttaa niitä?
    Käsittääkseni mitään tuollaisia rajoitteita ei pitäisi olla. Tuo lukuoikeus pitää tarkistaa, kuulostaa varsin loogiselta ratkaisulta ongelmaan.
    Itselläni ei niin paljoa ole kokemusta näistä servleteistä ja palvelimista vielä.

    Äänestä

  • 10100 kirjoitti:

    Työkoneella on siis tomcat 4.1-palvelin, ja yritän samalta koneelta selaimen kautta käyttää sitä.

    Kuinkas nuo servletin luku-oikeudet voi tarkastaa? Muutetaanko niitä tomcatin asetuksista, eli pitäisi tomcatin asetuksista muuttaa niitä?
    Käsittääkseni mitään tuollaisia rajoitteita ei pitäisi olla. Tuo lukuoikeus pitää tarkistaa, kuulostaa varsin loogiselta ratkaisulta ongelmaan.
    Itselläni ei niin paljoa ole kokemusta näistä servleteistä ja palvelimista vielä.

    Pitäisikö tuosta tulla joku ilmoitus jos servletti yrittää lukea tiedostoa, johon sillä ei ole luku-oikeutta? Nyt siinä tomcatin logissa näkyy vain bufferedreaderin nappaama exception.

    Äänestä

  • 10100 kirjoitti:

    Pitäisikö tuosta tulla joku ilmoitus jos servletti yrittää lukea tiedostoa, johon sillä ei ole luku-oikeutta? Nyt siinä tomcatin logissa näkyy vain bufferedreaderin nappaama exception.

    asetuksissa kait se oikeus laitetaan. Laita nyt ainakin se exception ja vaikka print stack trace vielä. Ihan selvä virhe kerta tulee, niin siitähän se sitten voi katsoa.

    Äänestä

Kommentoi aloitusta


1010100 kirjoitti:

Ei toiminut ei. Kotikoneella toimii, kun loopback(127.0.0.1)-osoitteen kautta testailee, mutta työkoneella ei tiedostosta lukeminen onnistu. Työkoneella siis avoin ip, ja servletti siis tulee oikeaan ip-osoitteeseen. Mikähän tuolle bufferedreaderille tulee antaa poluksi, jotta servletti löytää halutun tekstitiedoston, esimerkiksi testi.txt?
Tekstitiedosto voisi sijaita esim. c-aseman juuressa aluksi.

Tässä vielä pätkä koodia:

try {
reader = new BufferedReader(newInputStreamReader(new FileInputStream("c://testi.txt")));

rivi = reader.readLine();
while(rivi != null) {
rivit[i] = rivi;
osoite = reader.readLine();
response.setContentType("text/plain");

PrintWriter out = response.getWriter();
out.println(osoitteet[i]);
System.out.println(" " osoitteet[i]);
i ;
}
reader.close();

Tuossa olisi siis tarkoitus hakea tekstitiedoston sisältämät rivit string-taulukkoon.
Onko tuohon .txt tiedoston sijainnin ilmoittavaan kohtaan lisättävä jotain?
Rupeaa jo hermot menemään, ei pitäisi olla näin hankalaa...

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