Portál AbcLinuxu, 14. července 2025 00:15


Dotaz: Servlety, tomcat a woody

7.2.2003 12:40 Martin Kučera | skóre: 12 | Vsetín
Servlety, tomcat a woody
Přečteno: 241×
Odpovědět | Admin
Dobrý den vespolek. Můj dotaz je určen především debianistům, jelikož mne zajímá standardní řešení v Debianu, někde dělám chybu a nechci ji činit do nekonečna... :-) Má intranetová aplikace v PHP narostla do olbřímích rozměrů a proto jsem se rozhodl ji překlopit do Javy. Nainstaloval jsem:
tomcat4.0.3
java version "1.3.1"
Java (TM) 2 Runtime environment, Standard Edition (build Blackdown-1.3.1-02b-FCS)
jádro 2.4.20
V /etc/default/tomcat4 mám mimo jiné:
TOMCAT4_USER="tomcat4"
JAVA_HOME="/usr/lib/j2se/1.3/"
/etc/tomcat4/server.xml a web.xml jsem ponechal nezměněné. V /etc/profile mám:
export JAVA_HOME="/usr/lib/j2se/1.3/"
export EXTENSION_CLASSPATH="/usr/share/java"
export CLASSPATH=".:/usr/share/java/servlet-2.3.jar:/usr/share/java/mysql-connector-java.jar"

První problém je, že init nenastartuje tomcat, v logu o tom ani zmínka, z konzole jej ovšem nastartuji bez problémů, i pomocí /etc/init.d/tomcat4 start. Proč? Nesouvisí to s proměnnými prostředí? Jestli ano, jak je nastavit, aby byly přístupné již při startu? Další věcí, které přiliš nerozumím, je zařídit, abych úvodní servlet nemusel zapisovat do URL, něco na způsob index.html... Zatím to řeším pomocí /var/lib/tomcat4/webapps/ROOT/index.html, který obsahuje jen přesměrování. Používám package a má představa vypadá následovně: zadám url http://localhost:8180 a spustí se servlet {název package}/Default.class, jde to nastavit? Tuším napsat něco do ../WEB-INF/web.xml, ale co? Podotýkám, že servlety leží ve /WEB-INF/classes/{název package}/ Poznámka: četbě dokumentace jsem již věnoval poměrně dost času.... Díky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.2.2003 13:54 Petr Pinkas | skóre: 2
Rozbalit Rozbalit vše Servlety, tomcat a woody
Odpovědět | | Sbalit | Link | Blokovat | Admin

Take s timto teprve zacinam, takze bych vam nerad poradil spatne, ale snad alespon namet:

Do WEB-INF/web.xml lze zapsat:


  index.jsp
  default.jsp

a tyto jsou pak pouzity, pokud zadate pouze http://localhost:8180/nazevAplikace - hledaji se v korenovem adresari dane aplikace.
7.2.2003 13:58 Petr Pinkas | skóre: 2
Rozbalit Rozbalit vše Servlety, tomcat a woody
Hmm, ten nahled mi smazal direktivy :o) Myslel jsem
<welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
  <welcome-file>default.jsp</welcome-file>
</welcome-file-list>
8.2.2003 12:26 Martin Kučera | skóre: 12 | Vsetín
Rozbalit Rozbalit vše Servlety, tomcat a woody
Není to jen pro JSP? Tahle direktiva je použita v /etc/tomcat4/web.xml, konkrétně index.html. Způsobuje to, jestli to dobře chápu, že to načte po zadání http://localhost:8180 soubor ROOT/index.html. Po přidání do WEB-INF/web.xml to nefungovalo. Jen se mi po přidání direktivy servlet-name Index a servlet-class {nazev-aplikace}.Index podařilo, že nemusim psát http://localhost:8180/servlet/{nazev-aplikace}.Index ale stačí http://localhost:8180/servlet/Index. Ještě tak vyhodit tenhle /servlet/ a už jsem blizko... :-)
10.2.2003 15:40 Martin Kučera | skóre: 12 | Vsetín
Rozbalit Rozbalit vše Servlety, tomcat a woody
Tohle ve web.xml:

Index
{nazev_aplikace}.Index
0



Index
/Index

způsobí, že mohu zadat url:
http://localhost:8180/Index
Stále ještě musím používat soubor index.html obsahující přesměrování... Jak mohu docílit toho, aby stačilo zadat jen
http://localhost:8180
Moc děkuji za případné odpovědi.
10.2.2003 15:41 Martin Kučera | skóre: 12 | Vsetín
Rozbalit Rozbalit vše Servlety, tomcat a woody
Tohle ve web.xml:
<servlet>
<servlet-name>Index</servlet-name>
<servlet-class>{nazev_aplikace}.Index</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Index</servlet-name>
<url-pattern>/Index</url-pattern>
</servlet-mapping>
způsobí, že mohu zadat url:
http://localhost:8180/Index
Stále ještě musím používat soubor index.html obsahující přesměrování... Jak mohu docílit toho, aby stačilo zadat jen
http://localhost:8180
Moc děkuji za případné odpovědi.
10.2.2003 15:55 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Servlety, tomcat a woody
index.jsp z AbcLinuxu: <% response.sendRedirect("/Index"); %> duvod: sepcifikace servletu nepocita s tim, ze uvodni stranka muze byt servlet :-(( hmm, mozna by bylo resenim, kdybyste v servlet mapping nastavil mapovani servletu na index.jsp v rootu webove aplikace. to by asi bylo take resenim
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
10.2.2003 16:32 Martin Kučera | skóre: 12 | Vsetín
Rozbalit Rozbalit vše Servlety, tomcat a woody
Díky moc, když je to tak, tak se s redirectem spokojím. Jen jsem nechtěl používat nesprávné řešení... :-)
10.2.2003 16:58 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Servlety, tomcat a woody
ten mapping by taky vlastne nefungoval. kdysi jsem se pokousel o toto: <servlet-mapping> <servlet-name>Index</servlet-name> <url-pattern>index.jsp</url-pattern> </servlet-mapping> ale pod tomcatem to nejelo. takze jsem to nakonec vyresil zminenym jsp.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
11.2.2003 12:33 Martin Kučera | skóre: 12 | Vsetín
Rozbalit Rozbalit vše Servlety, tomcat a woody
Tenhle servlet mapping mi taktéž nefungoval... JSP jsem se rozhodl nepoužívat, pro tu aplikaci, kde je minimum HTML, ale jsou tam applety se mi víc hodí servlety. Protože jsem se rozhodl šoupnout to dvou rámů, řešení se nabízí samo a jsem s ním spokojen: index.html jen s framesetem. Jen jsem zvědav, jestli to nebude dělat paseku u session, když bude aktivována až v rámech. Ale z logiky věci by snad nemělo.

Ještě musím vyřešit, proč mi ten tomcat nestaruje při spuštěni, a bude to. /etc/rc.local nebo /etc/rc.sysinit v debianu nejsou. Jestli to nějak nesouvisí s tím blackdownem, ale java od sunu se mi instalovat na debian nechce... :-)

7.2.2003 20:25 xyz
Rozbalit Rozbalit vše Servlety, tomcat a woody
Odpovědět | | Sbalit | Link | Blokovat | Admin
urcite mas vytvoreny symlink smerujuci z /etc/rc3.d alebo /etc/rc5.d (v zavislosti aky je tvoj init level) do /etc/init.d/tomcatbinarka?
8.2.2003 12:17 Martin Kučera | skóre: 12 | Vsetín
Rozbalit Rozbalit vše Servlety, tomcat a woody
Ano, mám. A to S20tomcat4 v obou zmíněných adresářích.
8.2.2003 12:41 xyz
Rozbalit Rozbalit vše Servlety, tomcat a woody
tak potom ma napada iba jedna vec do binarky, ktora je v /etc/init.d/ zadaj toto: JAVA_HOME="/usr/lib/j2se/1.3/" pretoze z /etc/profile sa cita iba pri logine nejake ho usera nie pri init-e. . Pri init x sa cita z /etc/rc.local alebo /etc/rc.sysinit
11.2.2003 12:35 Martin Kučera | skóre: 12 | Vsetín
Rozbalit Rozbalit vše Servlety, tomcat a woody
Do té binárky už jsem ty proměnné taky zkoušel zadávat, ale nepomohlo to. Je divné, že to nefunguje samo od sebe, po instalaci balíčků, jak je v debianu zvykem.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.