webForumDet fria alternativet

Få Tomcat 4.0.3 att funktionera i WIn2000

Java

4 svar · 423 visningar · startad av d_jonsson

Medlem sedan mars 200113 inlägg
Frågan#1

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?

Medlem sedan sep. 20001 124 inlägg
#2

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.

Medlem sedan mars 200113 inlägg
#3

knepigt...

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

--------------------------------------------------------------------------------

type Exception report

message 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)
...
...

Medlem sedan apr. 20007 588 inlägg
#4

Hmm, en ren gissning, eftersom jag sällan kör Tomcat:

Metoden getResourcePaths(String) är ny i Servlet 2.3, kan det vara så att du har fel version på ditt servlet-API?

Medlem sedan juni 2000350 inlägg
#5

In this article, we will examine what makes Tomcat 4 so different from previous versions...
http://www.vsj.co.uk/archive/decjan2002/tomcat/javanet1-0201.asp

Kanske kan vara till hjälp

255 ms totalt · 3 externa anrop · v20260731065814-full.767b4345
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)