meine JSP unter Tomcat findet die Javaklassen nicht

Basti54

Erfahrenes Mitglied
Hallo. folgendes:
Ich entwickle grad ein Login mit JSP, Beans und Servlet. (bunt gemixt)
ich wollte es nun auf einem Tomcat 4 laufen lassen...die index.jsp findet er aber:
Package authentifikation not found in import.

er findet also meine Packages nicht. Folgendes hab ich bereits:
die Anwendung liegt im Webapps Verzeichnis von Tomcat: c:\Proramme\tomcat\webapps\<einOrdner>\<nocheinOrdner>\<undnocheinOrdner>
dort liegen alle JSPs und mein META-INF und WEB-INF Verzeichnis. unter WEB-INF befindet sich der Ordner classes, und darin sind meine Packages, also z.B. WEB-INF\classes\authentifikation\<eineKlasse>

das Package authentifikation importiere ich in der JSP mit <%@page import="authentifikation.*"%>

die server.xml im Ordner tomcat\conf\ habe ich ergänzt mit:
<Context path="/jsplogin" docBase="<einOrdner>/<nocheinOrdner>/<undnocheinOrdner>/jsplogin" debug="0" reloadable="true" />

beim Aufruf http://www.xyz.de/<einOrdner>/<nocheinOrdner>/<undnocheinOrdner>/jsplogin/

findet er auch die index.jsp. Nur leider die Java-Klassen in dem classes Ordner nicht. Der Aufruf direkt über die Packages, also authentifikation.eineKlasse geht auch nicht. Selbes Ergebnis. Was muss ich noch machen, damit das ?

Danke für die Hilfe.
 
Ganz eindeutig das Package nicht im Tomcat Classpath (erzähl ich dir wohl nicht was neues)

Deine Angaben nach ist alles korrekt, einen Fehler seh ich jetzt auf den 1. Blick nicht.

Was du machen könntest, erstmal nach der eigenen Schusseligkeit her überprüfen:
Habe ich mich irgendwo beim Packetnamen vertippt? Also im import oder auch als du das package angelegt hast.
 
Also ich glaube nicht, dass irgendwo was falsch geschrieben ist, da es bereits mit netBeans (meine IDE) und dem Tomcat 5 funktioniert hat. Kann es vielleicht daran liegen, dass auf dem Server tomcat 4 läuft?

Und was meintest du damit?
Ganz eindeutig das Package nicht im Tomcat Classpath
Wo und wie setzt ich das Package in den Tomcat Classpath? Klingt jedenfalls nicht so, als hätte ich das getan :) Oder ist das diese Context Einstellung in der Server.xml?
 
So. habe mal die Packages überall (einfacher) umbenannt. keine Chance.
mein Eintrag in der server.xml heißt nun: <Context path="/<einOrdner>/<nocheinOrdner>/<undnocheinOrdner>/jsplogin" docBase="<einOrdner>/<nocheinOrdner>/<undnocheinOrdner>/jsplogin" debug="0" reloadable="true" />
keine Chance.
habe sogar vor lauter Verzweiflung im CLASSPATH des Rechners meine Ordner im Webapps-Verzeichnis (jsplogin, WEB-INF, WEB-Inf\classes) eingetragen.....keine Chance.

Ich hab irgendwo mal was von einer config.xml im WEB-INF Verzeichnis gelesen. Ich hab keine. Liegt es daran?
 
Zuletzt bearbeitet:
Alles klar, ich hab es.

Problem: wie schon vom Mod angedeutet, nich (richtig) im Classpath von Tomcat.
Lösung:
Ich hatte unter Contextpath und docBase nicht die Pfade hinterlegt, die es hätten sein müssen, da ich den Unterschied zw. beiden nicht kannte. Somit hatte Tomcat die Packages an der falschen Stelle gesucht.
Contextpatch ist nach meinem jetzigen Verständnis der Pfad, wie ich es angezeigt haben möchte. docBase ist das Wichtige: Das ist wohl der Pfad relativ zum webapps-Verzeichnis.

Danke an Christian für den Denkanstoß. :)

noch was:
der Anfang von meiner web.xml sah so aus:
HTML:
<?xml version="1.0" encoding="UTF-8"?>
 
 <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
das war falsch! (automatisch von netbeans generiert)

Aussehen muss es so:
HTML:
<?xml version="1.0" encoding="UTF-8"?>
 
 <!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>
 
Zuletzt bearbeitet:
Zurück