Servlet Apache Geronimo: Servlet nicht erreichbar

Hi,

ich habe ein einfaches Servlet geschrieben und möchte das im Apache Geronimo ausführen. Jedoch kann ich es nicht aufrufen. Ich habe das war-Archiv schon in GlassFish, JBoss und Tomcat getestet und da hat es ohne Probleme funfktioniert.

Mir ist aufgefallen, dass die "web-app id" in der web.xml die URl vorgibt, unter der die Dinge erreichbar sind.

Eine JSP funktioniert, jedoch nicht mein Servlet.

Beispiel der JSP, die funktioniert:

[XML]
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="TestProject123" version="3.0">
<display-name>TestProject</display-name>
<welcome-file-list>
<welcome-file>start.html</welcome-file>
<welcome-file>start.htm</welcome-file>
<welcome-file>start.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
[/XML]


Die JSp ist dann unter http://localhost:8080/TestProject123 erreichbar - egal auf welchem Server sie liegt (auch geronimo)


Nun mein Servlet:

ProjektName: TestProjekt

Java:
@WebServlet("/TestServlet")
public class TestServlet extends HttpServlet {
[...]
}
web.xml:

[XML]
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="TestServlet" version="3.0">
<display-name>PerformTest</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>


</web-app>
[/XML]

Das Servlet ist dann bei Tomcat, JBoss und Glassfish unter http://localhost:8080/TestProjekt/TestServlet erreichbar.

Jedoch nicht bei Geronimo. Geronimo bietet mit den Link /TestServlet (<-- unter web-app id angegeben) an. jedoch ist darunter nichts zu finden und ich bekomme den Fehler 404 fehler. Beim Servlet muss ich ja die Klasse direkt ansprechen. Aber auch unter http://localhost:8080/TestProjekt/TestServlet ist es nicht erreichbar. Irgendiwe funkt mir geronimo dazwischen und will noch etwas haben.

Kann mir jemand sagen, was ich noch einstellen muss, damit das Servlet auch unter Geronimo läuft? eigentlich sollte man doch ein war-File zwischen den Server austauschen können ???:L

Viele Grüße
hschenk
 
Hallo,

Was passiert, wenn Du es manuell in der web.xml konfigurierst?

<servlet>
<display-name>TestServlet</display-name>
<servlet-name>TestServlet</servlet-name>
<servlet-class>package...TestServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/TestServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>

Das package muss noch angepasst werden.

VG,
Franz
 
danke, habe die lösung schon gefunden. die annotations-schreibweise ist die servlet 3.0 spec (soweit ich weiß). Geronimo 2.2.1, also die version ich gerade nutze, kann diese jedoch noch nicht und nur die 2.5er und niedriger. für die neue version muss man das 3.0.x-beta benutzen.


trotzdem vielen dank :)

gruß hschenk
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben