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...
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...
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ä?
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.
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.