Jag använder SDK 1.4 och har kört Tomcat 3.2.3 utan problem och tänkte nu testa Tomcat 4.0.3. När jag installerade det, och satte miljövariablerna (CATALINA_HOME, JASPER_HOME...). När jag anropade http://localhost:8080/, så fick jag fram sidan som säger att servern fungerar. Allt väl sålångt. När jag gick in bland JSP-exemplen, så började problemen. Varken egna jsp-filer eller de som följde med Tomcat fungerar, jag får felmeddelanden som "java.lang.NoSuchMethodError: javax.servlet.ServletContext.getResourcePaths(Ljava/lang/String;)Ljava/util/Set;" och annat.
Vad jag kan utläsa är det oftast Servlet.init() som kastar undantaget. t ex "javax.servlet.ServletException: Servlet.init() for servlet jsp threw exception".
Eftersom Tomcat kan leverera sidor utan jsp, så verkar det vara nåt knepigt med jsp:andet (Jasper kanske, vad vet jag). Någon som har nåt tips på hur jag läser detta?
Du måste sätta classpath så att den även inkluderar Tomcats filer. javax.servlet-klassserna ligger nämligen där, och det är lite jobbigt att leka med JSP utan dom.
Jag har testat att göra det också, servlet.jar t ex, men det fungerar icke. Vad är det jag ska lägga till i CLASSPATH:en som jag kan tänkas ha missat (det kan ju vara ganska många saker i och för sig... ;) )?
När jag kör en JSP-sida, så är detta det felmeddelandet jag får:
Apache Tomcat/4.0.3 - HTTP Status 500 - Internal Server Error
description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet.init() for servlet jsp threw exception
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:935)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:653)
...
...
root cause
java.lang.NoSuchMethodError: javax.servlet.ServletContext.getResourcePaths(Ljava/lang/String;)Ljava/util/Set;
at org.apache.jasper.compiler.TldLocationsCache.processJars(TldLocationsCache.java:202)
at org.apache.jasper.compiler.TldLocationsCache.(TldLocationsCache.java:139)
...
...