Sziasztok!
Most ismerkedek a Tomcat nevű szörnnyel (Windows alatt, de ez szerintem lényegtelen.
A következő a mappastruktúra:
- WEB-INF
- classes
- org/stevengould/javaworld
- RequestDetails.java
- RequestDetails.class
- web.xml
- org/stevengould/javaworld
- classes
A Java kód biztos yó, mert copy-paste emeltem be egy weblapról.
A web.xml ilyen kis egyszerű:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<!-- Your servlet definitions go here -->
<servlet>
<servlet-name>RequestDetails</servlet-name>
<servlet-class>org.stevengould.javaworld.RequestDetails</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RequestDetails</servlet-name>
<url-pattern>details</url-pattern>
</servlet-mapping>
</web-app>
A jelenség: a war fájl megkreálása után első körben a localhost:8080/manager/html/list oldalon levő deploy formmal kideployoltam, meg is jelent a listában szépen, de elindulni nem tudott, mert egy szintaxishiba vollt az XML-be.
Amikor Undeploy-oltam, és a war fájlt is leszedtem, majd az xml bug fixálása után megint deployoltam (szintúgy a formmal), akkor már nem is látta a felcsapott webalkalmazást, hiába is frissítettem.
Valaki szájbarágósan el tudja mondani, hogyan kell deployolni és mit tolok el? Tudom, google, de azon már nagyon régen túl vagyunk, a deployolást minden tutor pár szóval intézi.
Esetleg az lehet gond, hogy a Servlet invoker funkció globálisan engedélyezésre került?
- 1780 megtekintés
Hozzászólások
Hogy én mekkora marha vagyok...
Megoldás:
- invoker szolgáltatást minden további nélkül tiltani (ez vitte el a dolgokat odáig, hogy a végén semmilyen webservice nem volt, csak a /manager mega /host-manager
- ${WEBAPPNAME}\WEB-INF\classes -be a megfelelő stuffok kreálása (mintha sima java dolog lenne).
- web.xml:
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <displayname>Request Detail stuffz</displayname> <servlet> <servlet-name> RequestDetails </servlet-name> <servlet-class> RequestDetails </servlet-class> </servlet> <servlet> <servlet-name> HelloWWW </servlet-name> <servlet-class> com.coreservlets.examples.HelloWWW </servlet-class> </servlet> <servlet-mapping> <servlet-name> RequestDetails </servlet-name> <url-pattern> /servlet/RequestDetails </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> HelloWWW </servlet-name> <url-pattern> /servlet/HelloWWW </url-pattern> </servlet-mapping> </web-app>
A topicnyitóban beírt konfigban két hiba is volt:
- Az url-pattern relatív volt, és innentől értelmezés kérdése, ki-mit ért alatta. Az abszolút a webalkalmazás gyökerétől számol, az új konfiggal ez http://localhost:8080/${WEBAPPNAME}/servlet/RequestDetails volt.
- Az invoker szervlet minden ilyesmit felülvág. Akkor már inkább Gentoo-s módszerrel konfigoljunk mindent mi magunk.
- A hozzászóláshoz be kell jelentkezni