Einstieg

Autor: Alexander Treptow [minf2622]
Stand: 26.11.2006
 

... [ Seminar "Betriebssysteme, Werkzeuge für das Web und Programmiersprachen" ] ... [ Inhaltsübersicht ] ... MVC ...

Übersicht: Einstieg


Installation

Voraussetzung für das Grails-Framework ist ein installiertes Java SDK 1.4 oder höher und die Umgebungsvariable JAVA_HOME muss auf den SDK-Ordner verweisen. (z.B. C:\Java\jdk1.5.0_08 oder /usr/java/jdk1.5.0_08)

    Schritte:
  1. Download der aktuellen Grails-Version
  2. Entpacke die Version in einen Ordner (z.B. C:\grails oder ~/grails)
  3. Erstelle eine GRAILS_HOME Umgebungsvariable und setze sie auf den Pfad des entpackten Archivs
  4. Füge der PATH-Variable eine Referenz auf den "bin"-Ordner hinzu (%GRAILS_HOME%\bin oder $GRAILS_HOME/bin)
  5. Gebe "grails" in der Kommandozeile ein, wenn die Grails-Hilfe angezeigt wird war die Installation erfolgreich


Projektstruktur

Um ein neues Projekt zu erstellen kann man auf der Konsole einfach "grails create-app" eingeben, dann wird folgende Ordnerstruktur angelegt, sowie die nötigen Konfigurationsdateien mit einer Defaultkonfiguration:

 <project_name>
    - grails-app
       - conf             --> Konfigurationdateien
       - controllers      --> Kontroller
       - domain           --> Daten-Models
       - i18n             --> Nachrichten (z.B. vordefinierte Fehlermeldungen)
       - services         --> Services
       - taglib           --> Tag-Libraries
       - views            --> Views
           - layouts      --> Layouts der Views
    - grails-tests
    - hibernate           --> Zusätzliche Hibernate-Konfiguration
    - lib                 --> Java Archive
    - spring              --> Zusätzliche Spring-Konfiguration
    + src                 --> Java Quelldaten
    + tmp                 --> Laufzeitdaten (z.B. bei verwenden von Scaffolding)
    + web-app             --> Zusätzliche Web-Daten (z.B. JavaScript, CSS, ...)

Diese Ordner wurden im Grails-Verzeichnis in einem Unterordner angelegt, der den Namen des Projektes trägt (z.B. bookapp). Der Name muss beim Aufrufen von "grails create-app" eingegeben werden, kann später aber einfach über den Ordnernamen geändert werden.


Konfiguration

Die nötige Konfiguration für Grails wird durch "Convention over Configuration" stark eingegrenzt. Eigentlich muss man nichts Konfigurieren, es sei denn man möchte eine andere Datenbank verwenden.

Beim erstellen eines Projektes legt Grails mehrere Dateien im Ordner "<project_name>/grails-app/conf" an. Diese sind in Version 0.3.1 eine <project_name>BootStrap.groovy und je eine DevelopmentDataSource.groovy, ProductionDataSource.groovy HsqlDataSource.groovy.


Die "BootStrap"-Datei wird zum Starten der Applikation aufgerufen. Sie ist ähnlich wie ein Java-Applet aufgebaut und bestehen aus einer init-, sowie einer destroy-Closure. Wobei von der Destroy-Closure, wie in Java-Applets, nicht ausgegangen werden kann, dass sie auch ausgeführt wird. Daher wird von der Verwendung abgeraten.

class BookappBootStrap {
    def init = { servletContext ->
        // initialisiere die Applikation
    }
    
    def destroy = {
        // lösche die Applikation (bzw. die zur Laufzeit erzeugten Daten)
		}
}

Die "DataSource"-Dateien sind für die Verbindung zur Datenbank zuständig. Sie bestehen aus optionalen Parametern und den Verbindungseinstellungen.

class HsqlDataSource {
    String dbCreate = "update"

    String url = "jdbc:hsqldb:hsql://localhost"
    String driverClassName = "org.hsqldb.jdbcDriver"
    String username = "MyName"
    String password = "MyPassword"
}

Die "dbCreate"-Eigenschaft ist optional. Wenn sie nicht angegeben ist muss die Datenbank selbst angelegt werden und man muss das Datenbankschema selbst entwerfen.

Die "url"- und "driverClassName"-Eigenschaften sind wie "username" und "password" zwingend Notwendig. Die URL spezifiziert dabei eine JDBC-URL zu über die die Datenbank erreichbar ist und "driverClassName" den Treiber für die JDBC-Treiber-Klasse. JDBC steht für Java DataBase Connectivity und ist eine API die eine Schnittstelle zu Datenbanken verschiedener Hersteller bietet und spezialisiert ist auf relationale Datenbanken.


... [ Seminar "Betriebssysteme, Werkzeuge für das Web und Programmiersprachen" ] ... [ Inhaltsübersicht ] ... [ Top ] ... MVC ...