Hallo,
ich habe eine tomcat server aufgesetzt unter ubuntu. funktioniert soweit auch ganz gut mit den servlet und Beispielen. Nur jetzt wollte ich die xalan samples mal durchgehen. habe die war in die webapps deployed und musste dann fetstellen, dass die jungs dort vergessen hatte den serilizer.jar in das lib verzeichnis mit abzulegen, ok korrigiert. die beispiele laufen jetzt auch, jedoch nur wenn ich die web.xml aus dem verzeichnis nehme. Selbst wenn ich die von xalanservlets aufräume, so dass nur noch so etwas übrig bleibt:
<?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/j2ee/dtds/web-app_2_3.dtd">
<web-app>
</web-app>Meckert er dann trotzdem noch fehlermeldung mit access denied bei ausführung der webanwendung, nur wenn ich die web.xml komplett entferne funktioniert die jsp seite korrekt ?!? Jemand eine Rat?
Ich habe jetzt eine saubere und neue Installation von Tomcat (5.5.20) bei mir gemacht.
Dan habe ich folgende Verzeichnisse und Dateien erstellt:
webapps
- saxon
- data
- styles
- WEB-INF
- index.html (ist aber leer)
data und styles habe ich einfach aus dem 'samples' aus saxon-resources8-9.zip rüberkopiert.
im WEB-INF
- classes
- lib
- web.xml
-
im classes steht nur das "SaxonServlet.class" ebenfalls aus dem Beispiel-ZIP.
-
im lib habe ich alle *.jar-Dateien aus der Saxon 8.9 Version hinüberkopiert (man braucht an sich nur saxon8.jar)
-
mein web.xml siehst so aus:
---------------------------------
<?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>Saxon Servlet Example</display-name>
<description>
Saxon Servlet Example
</description>
<servlet>
<servlet-name>SaxonServlet</servlet-name>
<servlet-class>SaxonServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SaxonServlet</servlet-name>
<url-pattern>/SaxonServlet</url-pattern>
</servlet-mapping>
</web-app>
-------------------------------------
Danach habe ich Tomcat gestartet und in die Adressenzeile folgendes eingegeben:
http://localhost:8080/saxon/SaxonServlet?source=data/books.xml&style=styles/books.xsl
(man könnte aber genauso gut im index.html einen Link: <a href="SaxonServlet?source=data/books.xml&style=styles/books.xsl">transformieren</a> anlegen)
Es funktioniert.
Eines darfst du aber nicht machen: im server.xml vom Tomcat die XML-Validierung einschalten!
Die Zeile muss so aussehen:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
sonst geht nix mehr.
Grüße
Thomas