Problem mit Velocity Beispiel

sisela

Erfahrenes Mitglied
Hallo liebe Freunde der leuchtenden Pixel,
ich beschäftige mich gerade mit Velocity (für mich Neuland). Ich wollte zunächst einmal das mitgelieferte Servlet Beispiel ausprobieren aber es funktioniert nicht.
Ich habe Tomcat installiert und der funktioniert auch aber ich weiss nicht ob ich Tomcat irgendwie bescheid geben muss, dass ich Velocity benutze.
Ich habe folgende Schritte unternommen:

- Folgende Vereichnisstruktur in Tomcat\webapps angelegt
velexample
velexample/WEB-INF
velexample/WEB-INF/lib
velexample/WEB-INF/classes

- SampleServlet.class aus SampleServlet.java erstellt und in WEB-INF/classes kopiert
(keine Fehler bei der class, bei Eclipse) musste allerdings externe jars einbinden
servlet.jar und velocity.jar
- sample.vm in /velexample kopiert (ist eine Vorlage und sollte keine Fehler haben)
- web.xml mit folgendem Inhalt in /WEB-INF kopiert
Code:
<?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>SAMPLE sERVLET</display-name> 
  <description> Velocity Sample Servlet. </description> 
  <!-- Define servlets that are included in the example application --> 

  <servlet> 
    <servlet-name>SampleServlet</servlet-name>    
    <servlet-class>SampleServlet</servlet-class> 
    <init-param> 
      <param-name>properties</param-name>     
      <param-value>/velocity.properties</param-value> 
    </init-param> 
  </servlet> 
</web-app>

- velocity.properties ins /velexample kopiert (auch eine Vorlage)
(Ob die letzten beiden Punkte überhaupt notwendig sind weiss ich nicht)

- dann kam noch die velocity.jar ins /lib Verzeichnis

Tomcat erkennt im Tomcat Manager meinen neuen Eintrag und zeigt auch das, was in der web.xml steht an. Schaut man sich nun http://localhost:8080/velexample/sample.vm an, erscheint die Seite aber die $name etc sind halt nicht aufgelöst. Das sieht so aus als wenn Velocity nichts umgesetzt hat.

Was mache falsch oder habe ich irgendetwas vergessen?
Wie weiss Tomcat überhaupt, dass es mit der Endung *.vm irgendetwas machen muss?
Ich habe den ganzen Kram mal als zip angefügt... Allerdings fehlt in dem /lib Verzeichnis die velocity.jar denn die war zu groß

mfg
 

Anhänge

  • VelExample.zip
    4,8 KB · Aufrufe: 36
Hallo!

Im Anhang findest du dein Beispiel als lauffähige Version.
Wie die beiden Dateien:
velocity-1.4.jar
velocity-dep-1.4.jar
aus Anhangsgrößenbeschränkungstechnischen Gründen weggelassen.
Diese solltest du in das Verzeichnis WEB-INF/lib kopieren.
Nun kannst du das ganze als Eclipse Projekt öffnen und mit hilfe des Ant build.xml
bauen lassen. (Rechte Maus auf build.xml -> run as -> ant build)
Dazu benötigst du die JBoss IDE.
Hast du die gerade nicht zur Hand könntest du folgendes machen.
Entpacke einfach das mitgelieferte .war File und kopiere die beiden zuvor genannten
Dateien jeweils ins WEB-INF/lib Verzeichnis (des Entpackten Baums). Danach packst du das ganze
mittels Winzip wieder in ein .war File und kopierst es in dein WEB-Apps Verzeichnis im Tomcat.

Anschließend solltest du das ganze ungefähr so aufrufen können:
http://localhost:XXXX/velocity/VelocitySampleServlet

Gruß Tom
 

Anhänge

  • de.tutorials.examples.velocity.z
    14,4 KB · Aufrufe: 100
Hi Darimont,

also erst einmal vielen Dank für deine Mühe und Hilfe.
Ich habe mir die JBoss IDE heruntergeladen und installiert, leider konnte ich das Tutorial von JBoss nicht komplett durchführen, da irgendwann die Vorlagen nicht mehr mit meinen Sichten übereinstimmten. Ich konnte aber jedenfalls das Project öffnen. Nach ein paar Änderungen in der xdoclet-build.xml:
Code:
<!-- <property name="eclipse.home" value="H:/diplom/eclipse"/> -->
<property name="eclipse.home" value="C:/eclipse"/>

<!-- <property name="xdoclet.basedir" value="${eclipse.home}/plugins/org.jboss.ide.eclipse.xdoclet.core_1.4.0"/> -->
<property name="xdoclet.basedir" value="${eclipse.home}/plugins/org.jboss.ide.eclipse.xdoclet.core_1.4.1"/>

<!-- <pathelement location="T:/ASWProject/ide/jakarta-tomcat-5.0.28/common/lib/servlet-api.jar"/> -->
<pathelement location="C:/Programme/Apache Group/Tomcat 5.5/common/lib/servlet-api.jar"/>
konnte ich auch mit ant das Project builden und siehe da es ging. Bob und Harold erschienen auf meinem Monitor nach Eingabe von: http://localhost:8080/VelExample/VelocitySampleServlet.

Dafür vielen Dank! Ich habe aber noch ein paar Fragen, weil schon alleine die Anzahl der Dateien und Verzeichnisse hat sich stark verändert und ich muss ein bisschen nachvollziehen wieso das eigentlich so ist.
- Was macht eigentlich die velocity-dep-1.4.jar, ist sie wirklich zusätzlich nötig
- Wieso eigentlich JBoss IDE (schön das es damit ging aber ich nutze ja gar kein JBoss Server)
- benötigt man das war Archiv wirklich? Ich habe es auch mal ohne probiert und das Servlet funktionierte trotzdem
- Was hat es mit N65540 auf sich oder sind das Überbleibsel aus vorhandenen Vorlagen
- du hast ja velocitySampleServlet.java geändert. Ist es tatsächlich so, dass es sich dabei sagen wir mal grob um Schönheitssachen geht oder hatte das noch einen tieferen Sinn?
- muss die sample.vm wirklich im /template Verzeichnis sein oder dient das nur der Übersicht
- Die ganzen XML Files (xdoclet-build, packaging-build) hast du die von Hand erstellt oder wurden diese von irgendetwas erstellt?

Du merkst mein Kopf ist voller Fragen.

Wenn du Links zu diesem Thema hast, die mir weiterhelfen könnten, kannst du diese ja mal posten.

mfg
Christian
 
Hallo Tom,

ich habe eine lauffähige Umgebung mit JBoss-IDE 1.4.1 und Eclipse 3.1.0. Könntest Du bitte von Anfang an beschreiben, wie ich mit Velocity umgehen muss. Welche Downloads von Velocity brauche ich. Habe nun ein Plug-In "org-1.apache.velocity_1.3.1.zip" & "org.vaulttec.velocity.ui_1.0.2.zip", sowie "velocity-1.4.zip" & "velocity-tools-1.1.zip". Was davon muss ich in Eclipse installieren? Kann ich das Velocity Verz. einfach in den Workspace kopieren oder muss ich alles als Projekt importieren?

Bin absoluter Eclipse Rookie.

Danke.

Gruß Horschdi
 

Neue Beiträge

Zurück