Hei!
Olen yrittänyt yrittämästä päästyänikin selvittää tomcatin dokumentaatiosta, mihin minun pitää laittaa .class -tiedostot, jotta saan servletit pelaamaan.
Minulla siis on tiedosto Testi.class, joka on servletti. Jos kopion sen tomcatin rootin webapps/servlets-examples/WEB-INF/classes -hakemistoon, saan sen toimimaan linkistä http://localhost:8080/examples/servlet/Testi .
Mutta en minä sitä tuonne halua, vaan haluan, että servletti toimisi vaikkapa osoitteesta http://localhost:8080/testi/Testi .
Miten ihmeessä tämä tehdään? Mitä tiedostoja muutetaan ja onko hommaan olemassa joku GUI? Voisiko joku ystävällinen sielu kertoa minulle kansantajuisen esimerkin (jakartan sivut on luettu jo miljoonaan kertaan - tuloksetta).
Kiitos etukäteen!
Olen yrittänyt yrittämästä päästyänikin selvittää tomcatin dokumentaatiosta, mihin minun pitää laittaa .class -tiedostot, jotta saan servletit pelaamaan.
Minulla siis on tiedosto Testi.class, joka on servletti. Jos kopion sen tomcatin rootin webapps/servlets-examples/WEB-INF/classes -hakemistoon, saan sen toimimaan linkistä http://localhost:8080/examples/servlet/Testi .
Mutta en minä sitä tuonne halua, vaan haluan, että servletti toimisi vaikkapa osoitteesta http://localhost:8080/testi/Testi .
Miten ihmeessä tämä tehdään? Mitä tiedostoja muutetaan ja onko hommaan olemassa joku GUI? Voisiko joku ystävällinen sielu kertoa minulle kansantajuisen esimerkin (jakartan sivut on luettu jo miljoonaan kertaan - tuloksetta).
Kiitos etukäteen!
Vastaukset 7
Vanhimmat
On pitkä aika siitä, kun olen tomcatin kanssa puuhaillut, mutta olen aika varma siitä, että sinun pitää muokata jotain XML-tiedostoa, jossa lukee tuo hakemistopolku.
Näin varmasti on, mutta mitä tiedostoa ja missä hakemistoissa, se on tässä nyt epäselvää. Tomcatin dokumentaatiosta - joka on syvältä - ei kerta kaikkiaan löydy mitään järkevää.
Joku class loader how-to siellä on, mutta ei siitä mitään irtoa. Hitto että turhauttaa :/.
Se oli server.xml, conf-kansiossa. Etsi sieltä - tagit ja ota ROOT-kontekstista kommentit pois. Eli . Tjtsp.
http://forums.devshed.com/archive/t-40348
Tee Tomcat webapps hakemistoon testi nim hakemisto
tee tähän testi hakemistoon WEB-INF hakemisto (huom isot kirjaimet)ja tähän classes hakemisto. Vie sitten testi.class tähän classes hakemistoon.
Koska kyseessä on servlet jota haluta käyttää niin laita osoite näin
http://localhost:8080/testi/servlet/Testi
Näin se taitaa mennä, mutta lisäksi pitää kopioida jostain web.xml -tiedosto tuohon testi-hakemistoon ja konfiguroida sitä.
Tomcatin mukana tulevilla manager- ja admin -applikaatioilla pystyy vissiin tekemään jotain em. tempuista, mutta luonnollisesti web.xml -tiedostoa ei generoida hakemistoon vaan se täytyy editoida itse käyttäen jotain muuta tiedostoa pohjalla.
Käyttäisin mitä tahansa muuta kuin tomcattia jos vain pystyisin. Mihin on hävinnyt apache-http -serverin loogisuus ja helppo konfiguroitavuus? Miksi salasanatkin pitää itse editoida konfiguraatiotiedostoon ja sitten käynnistää serveri uudestaan? Hyh hyh.
Mutta kiitos teille avustanne! Kyllä tästä päästään eteenpäin.
Jostain luin Jetty-nimisestä pienestä servlet-containerista, joka ainakin käsitykseni mukaan toimii myös web-palvelimena. Alunperin Jetty taidetiin suunnitella toimimaan kännyköissä sekä muissa pienillä prosessoreilla varustetuissa koneissa, mutta sitten niihin kännyihin tuli noi microeditoinit ja muuta saastaa, jolloin Jetty jäi taustalle odottamaan kännyköiden kehittymistä.
Itse uskon, että muutaman vuoden päästä Jetty on taas ajankohtainen ja tarjoaa web-palvelimen perstaskussa, mutta siihen saakka pitänee vaan odottaa aikoja uusia, hoh hoijaa...
-Jonttu-
Muokkaa kansion WEB-INF sisältämään web.xml tiedostoa ja tee servlet-mapping:
hello
test.HelloWorld
/hello.html
hello