PDA

Visualizza la versione completa : servlet errore 500


Souldust
29-08-2004, 16:45
Premesso che ho installato Tomcat e javasdk e funziona tutto! Ho provato a creare una cartella in Webapp e a creare dentro WEB-INF e poi CLASSES.
Ho infilato in Classes HelloWorldServlet.class e creato il web.xml che ho messo in WEB-INF.
Poi con un file html richiamo la classe ma dice errore 500!

Come mai?
Soul

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>

<display-name>
hello
</display-name>
<description>
none
</description>
<servlet>
<servlet-name>
hello
</servlet-name>
<description>
descrizione
</description>
<servlet-class>
HelloWorldServlet.class
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>
hello
</servlet-name>
<url-pattern>
/adegamisu
</url-pattern>
</servlet-mapping>
</web-app>
file html----------------------------------------------
<HTML>

<HEAD>
<TITLE>esecuzione servlet</TITLE>
</HEAD>
<BODY>
<form method="GET" action="adegamisu">


<input type="submit" value="Invia">
</p>
</form>
</BODY>
</HTML>

Errore--------------------------------------------------
The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Wrapper cannot find servlet class HelloWorldServlet.class or a class it depends on
org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117)
org.apache.coyote.tomcat5.CoyoteAdapter.service(Co yoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:793)
org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.processConnection(Http11Protocol.jav a:702)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(P oolTcpEndpoint.java:571)
org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:644)
java.lang.Thread.run(Unknown Source)


root cause

java.lang.ClassNotFoundException: HelloWorldServlet.class
org.apache.catalina.loader.WebappClassLoader.loadC lass(WebappClassLoader.java:1340)
org.apache.catalina.loader.WebappClassLoader.loadC lass(WebappClassLoader.java:1189)
org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117)
org.apache.coyote.tomcat5.CoyoteAdapter.service(Co yoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:793)
org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.processConnection(Http11Protocol.jav a:702)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(P oolTcpEndpoint.java:571)
org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:644)
java.lang.Thread.run(Unknown Source)

GRAZIE A TUTTI!

Souldust
29-08-2004, 16:48
potrebbe essere il classpath?!?!
cosa devo fare?
non l'ho fatto ne con java ne con le servlet?!?!
Soul

Souldust
29-08-2004, 17:54
ho copiato il file servlet-api.jar in
C:\Programmi\j2sdk1.4.2_05\jre\lib\ext
C:\Programmi\Java\j2re1.4.2_05\lib\ext

Ciao ho settato cosi:
CATALINA_HOME: C:\Programmi\appserv\Tomcat5
CLASSPATH: C:\Programmi\appserv\Tomcat5\common\lib
JAVA_HOME: C:\Programmi\j2sdk1.4.2_05\
PATH: C:\Programmi\j2sdk1.4.2_05\bin\

che ne dite?
ma d ancora 505!

Soul

Souldust
29-08-2004, 17:56
ho fatto una mega " :dh: " ho copiato tutti i jar in quelle cartelle ed ora non riparte TOMCAT! o meglio parte ma non visualizza il sito http://127.0.0.1:8080/
ora rifaccio!
Soul

AGGIUSTATO!

giuseppe sicari
29-08-2004, 18:46
forse perch la cartella classes deve avere il nome tutto minuscolo ?
(mi sembra che tu l'abbia scritta in maiuscolo)
Io avevo lo stesso problema e l'errore stava nell'aver scritto Web-inf al posto di WEB-INF... :ciauz:

Souldust
29-08-2004, 18:48
grazie ora provo!
cmq...
ho provato a compilare il codice dell'HelloworldExample e con eclipse in fase di compilazione
mi dice:
java.lang.No suchMethodError: main
Exception in thread "main"

cosa significa? rispondete in termini facili facili
grazie
Soul

Souldust
29-08-2004, 18:53
no! tutto giusto!
WEB-INF/classes

non che vuoi provarlo sul tuo tomcat??

Soul

Souldust
29-08-2004, 18:59
possibile che solo una persona riesce ad aiutarmi!
ho bisogno di aiuto!
:cry:

Angelo1974
29-08-2004, 19:20
Allora se non hai messo la classe in ROOT, allora devi modificare il server.xml come ho detto in un altro thread in maniera tale che tomcat punti alla tua web app; se invece l'hai messo in root, allora devi mettere il .class della tua servlet in classes; nota che se la servlet contenuta in un package nella cartella classes devi mettere tutto il package e non solo il .class

Souldust
29-08-2004, 19:32
Ciao Angelo,
ho messo tutto nella cartella WEBAPPS, ho provato un applicazione JSP presa dal web e funziona.
Ho provato a farne una da solo e mi d quell'errore. La classe la trova, quindi un errore che no trova qualche classe che necessita! giusto?
Soul

Loading