15
Graeme Rocher • Jeff Brown Fachkorrektur von Marc-Oliver Scheele Insiderwissen aus erster Hand von Grails-Entwicklern Basiswissen, Konzepte, Architektur Internationalisierung, Ajax, GORM, Plugins, Sicherheit, Webservices Einsatz von Spring und Hibernate Einführung in Groovy Grails 1.2 Das produktive Web-Framework für die Java-Plattform

Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

0812

Graeme Rocher • Jeff BrownFachkorrektur von Marc-Oliver Scheele

Grae

me

Roch

er

Jeff

Bro

wn

Aus dem Inhalt:

• Basiswissen, Konzepte und Architektur von Grails

• Scaffolding, Domain-Klassen, Controller, Datenbindung, Views

• URL-Mappings

• Mehrsprachigkeit und Internationalisierung

• Ajax

• GORM: Groovy Object-Relational Mapping

• Deklarative Transaktionen mit Grails-Service

• Integration von Grails in bestehende Systeme

• Plugin-Entwicklung

• Sicherheit

• Webservices

• Spring

• Legacy-Integration mit Hibernate

• Grundlagen von Groovy

• Kapitel zum Download im Internet: Webfl ows erstellen

Den Sourcecode sowie ein zusätzliches Kapitel fi nden Sie zum kostenlosen Download im Internet unter www.it-fachportal.de/5094.

Insiderwissen aus erster Hand von Grails-Entwicklern

Basiswissen, Konzepte, Architektur

Internationalisierung, Ajax, GORM, Plugins, Sicherheit, Webservices

Einsatz von Spring und Hibernate

Einführung in Groovy

Lernen Sie von dem Projektgründer und dem Key-Commit-ter, wie Sie mit Grails – das leichtgewichtige Open-Source Web Application Framework auf Basis von Groovy – erfolg-reich leistungsfähige Applikation für die Java-Plattform entwickeln.

Grails liefert die Antworten auf die lange Suche nach bes-seren Alternativen in der Java-Welt in Form eines Frame-works, das die üblichen Probleme beim Entwickeln von Webapplikationen unaufdringlich und elegant löst. Wenn Framework und Programmiersprache für Ihr Projekt auf Basis der Java-Plattform frei zu wählen sind, kann Ih-nen Grails Funktionen bieten, die Sie in keinem anderen Framework fi nden werden. Dieses Buch liefert Ihnen alle Informationen, die Sie benötigen, um sofort produktiv zu arbeiten.

Mit diesem Buch erhalten Sie ein umfassendes Praxis-Hand-buch zu Grails. Angefangen bei den Basiskonzepten bis hin zu fortgeschrittenen Anwendungen und Themen lernen Sie das beeindruckende Spektrum und die Stärken von Grails kennen. Trotz der umfangreichen Funktionalitäten sind die Lösungen einfach – und beim Durcharbeiten der Beispiele lernen Sie nebenbei vielleicht eine ganz neue Methode für die Entwicklung von Webanwendungen kennen.

Sie lernen unter anderem, wie Sie mit Groovy und Grails schnell Prototypen von Anwendungen, dynamische Tag-Libraries und Rich Domain Models erstellen und wieder-verwendbare Services anbieten können. So können Sie sich auf das Wichtige konzentrieren: die Geschäftslogik Ihrer Anwendungen.

Mit diesem Buch werden Sie ein begeisterter Grails-Anhänger und -Profi !

Diese deutsche Übersetzung des englischen Standard-werkes zu Grails wurde vollständig auf die neue Version 1.2 aktualisiert.

Über die Autoren:Graeme Keith Rocher ist Software-Ingenieur und Leiter der Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. In seiner gegenwärtigen Rolle leitet Graeme Rocher die lau-fende Entwicklung des Grails-Frameworks und ist für des-sen Produktstrategie und Innovation verantwortlich.

Jeff Brown ist Software-Ingenieur bei SpringSource und Mitglied des Groovy- und Grails-Entwicklungsteams.

5094

Außerdem zum Thema:

ISBN 978-3-8266-5937-9ISBN 978-3-8266-5937-9

28,5 mm

Grails 1.2

Gra

ils 1

.2

17x24cm

Insiderwissen aus erster Hand

Insiderwissen aus erster Hand

von Grails-Entwicklern

Basiswissen, Konzepte, Architektur

Internationalisierung, Ajax, GORM, Plugins, Sicherheit, Webservices

Das produktive Web-Frameworkfür die Java-Plattform

Probekapitel und Infos erhalten Sie unter:

[email protected] (D) € 49,95

Regalsystematik:(Web)Programmierung

ISBN 978-3-8266-5094-9ISBN 978-3-8266-5094-9

ISBN 978-3-8266-5548-7ISBN 978-3-8266-5548-7

ISBN 978-3-8266-5898-3ISBN 978-3-8266-5898-3

5094_Grails_2_U4_RS_korr2.indd 1 05.02.2010 13:27:57

Page 2: Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

511

Stichwortverzeichnis

Symbole${...} 123<%--...--%> 122<%=...%> 122<%@ 121==~ 493=~ 493? (Operator) 124?: (Operator) 175[blank]

dbCreate-Wert 54~/…/ 493

Numerisch1:1-Beziehung 69, 4651:N-Beziehung 71, 465

AAbfrage 215

dynamischer Finder 215mit Projektionen 221Query by Example 222von Beziehung 221

Abfrage-Caching 245Abstrakte Bean 441ACCEPT-Header

ältere Browser 406Content-Negotiation 402

Acegi 367ACID-Properties 256Active Server Pages siehe: ASPActiveMQ 446

BeanBuilder 447Advice 103After Advice 103after-Advice 104after-Filter 369afterInterceptor-Property 104Ajax 181

Ablauf eines Aufrufs 182Animation 201

Beispiel 183Effekte 201Events verarbeiten 188Felder verarbeiten 202Grundlagen 181Performance 206Provider ändern 184Remote Linking 189

Ajax-Event 189Ajax-Tag

Code aufrufen 187Aktion

mit URLs mappen 154allowedMethods-Property 98Amazon Webservices 192Anfrage

InputStream lesen 102umlenken 87

Animationmit Ajax 201

AnnotationConfiguration-Strategie 483Ant 27, 271

Dependency-Manager 287in Grails integrieren 285Tomcat-Deployment 278

AntBuilder 508Anwendung

mit Grails erstellen 27Anwendungsartefakt 326Anwendungsspezifische View 89Anwendungsspezifisches Tag 147

testen 149Anwendungsversionierung 318AOP 102, 367, 502

Advice 103Apache ActiveMQ 446Apache Ant 27Apache Commons HttpClient 420Apache Ivy 287APP 399, 421application-GSP-Attribut 120application-Scope 124

00_____Grails1-2_5094.book Seite 511 Freitag, 5. Februar 2010 2:26 14

© des Titels »Grails 1.2« (ISBN 978-3-8266-5094-9) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5094

Page 3: Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

Stichwortverzeichnis

512

Argumentin Groovy 507

Around Advice 103Artefakt 178, 326Artefakttyp 328

definieren 329ASP 119Aspect-Oriented Programming 367Aspect-Oriented Programming siehe

AOPAspektorientierte Programmierung 502Assertion 490Asynchron kommunizieren 456Atom 399, 420Atom Publishing Protocol 399, 421Atom Syndication Format 399Atomicity 256Aufruf-Manipulation 364Ausdruck

regulärer 492Ausnahmebehandlung sieheAuswahlliste

erstellen 133Authentication-Plugin 367Authentifizierung 357, 367, 370

mit Shiro 372Autoboxing 498

primitive Typen 499Autorisierung 367Autowiring 252, 434AWS 192

testen 194Axis2-Plugin 426

BBacktick 465Batch-Abruf 242BEA WebLogic 317Bean

abstrakte 441Autowiring 434dynamisch erstellen 443innere 440mit BeanBuilder definieren 436Scope 442überschreiben 437validieren 135

BeanBuilder

ActiveMQ 447Bean definieren 436

BeanBuilder-DSL 435Befehlsobjekt 96

anwenden 97definieren 96

Befehlszeilenargument 275Befehlszeilenvariable 274Before Advice 103before-Filter 369beforeInterceptor-Property 103Begrüßungsseite

in Grails 33belongsTo-Property 70Berechtigung 357, 371Bereich siehe

RangeBeziehung 212

belongsTo-Property 70Datenbindung 94eager 240hasMany-Property 71lazy 240mit Kriterien abfragen 221zwischen Domain-Klassen 69

bindData-Methode 94dbCreate-Property

54Blog-Beitrag 348Blogpost 348Blowfish-Algorithmus 365Bootstrap.groovy-Datei 277BootStrap-Klasse 319Browser

und ACCEPT-Header 406Builder 507Builder Pattern 507

in Java 507BuilderSupport-Klasse 509Buildsystem 271Business-Key 238

CCache 506Caching 243

Abfrage-Caching 245First-Level Cache 243Query Caching 245

00_____Grails1-2_5094.book Seite 512 Freitag, 5. Februar 2010 2:26 14

© des Titels »Grails 1.2« (ISBN 978-3-8266-5094-9) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5094

Page 4: Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

Stichwortverzeichnis

513

Second-Level Cache 243Checkbox

erstellen 132Closure 493CoC 23, 67, 265Code Coverage 29Codec 365Code-Coverage 292code-coverage-Plugin 292Command Object siehe

BefehlsobjektCommons CLI 507Compass 203Concern 29Concurrency 246Config.groovy-Datei 193, 265Consistency 256Constraint

einer Domain-Klasse 62in URL-Mappings 158Standard-Validatoren 62

Constraintsfür POJOs definieren 484Validierungsskript 484

ContainerDeployment 317

CONTENT_TYPE-HeaderContent-Negotiation 407

Content-Negotiation 402ACCEPT-Header 402CONTENT_TYPE-Header 407Dateinamenserweiterung 408Request-Parameter 408und eine View 409

contentType-Direktive 121Continuous Integration 293Controller 29, 79

anwenden 106create-Action 47definieren 79delete-Action 46edit-Action 46erstellen 37, 44index-Action 30, 45list-Action 45log-Property 81mit URLs mappen 154redirect-Methode 87Request-Parameter abrufen 86

RESTful 400save-Action 48Scopes 83show-Action 45Standardaction 80Standardattribute 82testen 104Text darstellen 86und Errors-API 92update-Action 47

Controller-Actioneinschränken 98Rückgabewert 88

Controller-IO 99ControllerUnitTestCase-Klasse 105Convention over Configuration 23, 265Convention over Configuration siehe

CoCconversation (Bean Scope) 442conversation (Scope) 258create

dbCreate-Wert 54create.gsp 49create-Action 47, 49create-app-Befehl 28create-auth-controller (Shiro) 370create-controller-Befehl 29, 37create-db-realm (Shiro) 370create-domain-class-Befehl 35create-drop

dbCreate-Wert 54create-ldap-realm (Shiro) 370Create-Operation 39create-plugin-Befehl 324create-service-Befehl 326create-tag-lib-Befehl 147, 326create-unit-test-Befehl 104Criteria Queries siehe KriterienCron Jobs 307Cross-Cutting Concern 103Crosscutting Concern 367Cross-Site Request Forgery 364Cross-Site Scripting 359CRUD 209, 399

Create-Operation 39Delete-Operation 44Read-Operation 40Update-Operation 42

CRUD-Framework 35

00_____Grails1-2_5094.book Seite 513 Freitag, 5. Februar 2010 2:26 14

© des Titels »Grails 1.2« (ISBN 978-3-8266-5094-9) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5094

Page 5: Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

Stichwortverzeichnis

514

CSRF 364Custom Tag 147

DDataSource.groovy 52

Einstellungen 52DataSource.groovy-Datei 226Dateinamenserweiterung

Content-Negotiation 408Datei-Upload 99

Datenbindung 101Datenbank

ACID-Properties 256Beziehungen 465Domain-Klasse 61Generator 472Unterstützung in Grails 56

Datenbankmanagement-System 24Datenbank-Mapping

Domain-Modell 67Table-per-Hierarchy-Mapping 72Table-per-Subclass-Mapping 73Vererbung 72

Datenbankoperation 210Datenbindung 90

Beziehungen 94bindData-Methode 94Datei-Upload 101mehrere Domain-Objekte 93Sicherheit 362

Datenquelle 51Einstellungen 52

Datumsangabe 134dbCreate-Property 53

create 54create-drop 54update 54validate 54

decodeHTML()-Methode 365defaultAction-Property 80Deklarative Syntax 98delete-Action 46Delete-Operation 44Demarshalling

JSON 414XML 414

Denial of Service 362Denial-of-Service-Angriff 358Depency Injection

Service 252

Dependencies Resolution 325Dependency Injection 251, 331, 433, 435Dependency-Manager

Ant 287Deployment 316

Container 317Grails-Anwendung 57mit run-war 58mit WAR-Datei 58

Dereferenzierungsoperator 124Detached 236Detached Objekt 236dev-Umgebungsoption 51dialect-Property 57Dialekt 226

in Hibernate 226Dispatching 505Django 23Dokumentation

von Groovy-Skripts 276Domain-Constraint 62Domain-Klasse 35, 61

Beziehung zu anderen Klassen 69Constraint 62Datenbank 61errors-Property 64Komposition 74testen 76validieren 62Vererbung 72

Domain-Modell 61Datenbank-Mapping 67

Domain-specific Language für ORM sieheORM DSL

DOMBuilder 508Don’t Repeat Yourself 23DoS-Angriff 358, 362doWithSpring-Hook 331doWithWebDescriptor-Hook 339DRY 23DSL 23Duck-Typing 503Durability 256Dynamische Spring-Bean 334Dynamischer Finder 215Dynamisches Scaffolding 37Dynamisches Tag 128

Eeach-Methode 125

00_____Grails1-2_5094.book Seite 514 Freitag, 5. Februar 2010 2:26 14

© des Titels »Grails 1.2« (ISBN 978-3-8266-5094-9) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5094

Page 6: Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

Stichwortverzeichnis

515

Eager-Beziehung 240Eclipse 299edit.gsp 49edit-Action 46, 49Effekt

mit Ajax 201Ehcache 244, 331Eingabedaten

validieren 91EJB 433EJB 3.0 478EL 119Elvis-Operator 175E-Mail-Integration 302embedded-Property 75encodeAsHTML()-Methode 365Entwicklungsumgebung

von Grails 51equals-Methode 501Erlaubnis 357Errors-API

und Controller 92Errors-Interface

von Spring 64errors-Property 64Escaping 359Event

bei einem Plugin 336in GORM 248onChange-Event 336onConfigChange-Event 339onShutdown-Event 339verarbeiten 188

Event-Objekt 337Exception 82Exceptionbehandlung 82ExpandoMetaClass 503Expando-Objekt 496Expression Language 119Ext-JS 413

FFactory Bean 438FCKeditor 352Feed 420

erkennen 423erstellen 421

Feeds-Plugin 421Fehlerbehandlung 135

Felderstellen 131mit Ajax verarbeiten 202validieren 129, 135

Fiddler 414Filter 126

Shiro 377Find-Operator 493Firefox-Poster-Plugin 414First-Level Cache 243flash (Bean Scope) 442flash (Scope) 258flash-GSP-Attribut 120flash-Objekt 86, 120flash-Scope 83, 84, 120, 124flow (Bean Scope) 442flow (Scope) 258Flushing 229Formular

asynchron übermitteln 184erstellen 131Tag 131validieren 128

Fortlaufende Integration 293Fowler, Martin 487Fremdschlüssel-Beziehung 466

G<g:checkBox>-Tag 132<g:collect>-Tag 126<g:createLink>-Tag 130<g:createLinkTo>-Tag 130<g:datePicker>-Tag 134<g:each>-Tag 125<g:eachError>-Tag 136<g:else>-Tag 124<g:elseif>-Tag 124<g:findAll>-Tag 127<g:form>-Tag 131, 185<g:formRemote>-Tag 185<g:hasErrors>-Tag 135<g:if>-Tag 124<g:link>-Tag 128, 129

Attribute 129<g:localeSelect>-Tag 134<g:message>-Tag 171, 174<g:radio>-Tag 132<g:renderErrors>-Tag 136<g:select>-Tag 133

00_____Grails1-2_5094.book Seite 515 Freitag, 5. Februar 2010 2:26 14

© des Titels »Grails 1.2« (ISBN 978-3-8266-5094-9) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5094

Page 7: Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

Stichwortverzeichnis

516

<g:set>-Tag 123<g:textField>-Tag 132<g:timeZoneSelect>-Tag 134<g:while>-Tag 125g (Präfix) 123Gang of Four 507Gant 27, 271Gant-Skript 272

Beispiele 278Geschäftslogik 251getContentType()-Methode 101getInputStream()-Methode 101getSize()-Methode 101GlassFish 426Glue-Sprache 487GORM 35, 45, 209

Abfragen 215Beziehungen verwalten 214dynamischer Finder 215Event-Verarbeitung 248Fluent-API 319Hibernate 228konfigurieren 226Kriterienabfrage 217Persistenz 209Semantik 228Transaktionen 234Vererbung 246Zeitstempel 248

GrailsArtefakt 178Buildsystem 271Controller 79IDEs 297Integration 265Logging 81und Ant 285und Groovy 25, 487und Spring 435Validatoren 62wiederverwenden 277

grails (Executable) 301grails create-service Befehl 192grails generate-all-Befehl 44grails generate-controller-Befehl 44grails generate-views-Befehl 44, 48grails help-Befehl 50Grails Objekt-Relational Mapping siehe

GORM

grails run-war-Befehl 58grails test-app-Befehl 77grails war-Befehl 58grails.env-Parameter 51GRAILS_HOME 26grails-app/views 33grails-debug (Executable) 301grailsEnv-Variable 274Grails-Filter 367Grails-Tag 123Grails-Umgebung

prod 50Greenfield-Anwendung 463Groovy 487

benannte Argumente 507Grundlagen 489importierte Packages 488Java-Collections-API 494Klassen deklarieren 490Metaprogrammierung 502Objektorientierung 498Scriptlet 121Strings 491Syntax 489Übereinstimmungen mit Java 488und Grails 25, 487und Java 487und JVM 488und Spring 459Unterschiede zu Java 488

Groovy Ant Scripting 27Groovy Object-Relational Mapping 209Groovy Server Pages 33Groovy Server Pages siehe: GSPGroovy Truth 500Groovy-Injektion 359GroovyPagesTestCase-Klasse 200Groovy-String 491Groovy-WS-Projekt 429GSP 33, 119

Binding 120eingebaute Tags 123eingebettete String-Werte 123GString 122und JSP 119verfügbare Attribute 120

GSP-Tag-Präfix 123GSP-Template 143GString 122, 491

00_____Grails1-2_5094.book Seite 516 Freitag, 5. Februar 2010 2:26 14

© des Titels »Grails 1.2« (ISBN 978-3-8266-5094-9) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5094

Page 8: Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

Stichwortverzeichnis

517

gTunes-AnwendungHomepage 106Login testen 116Login-Formular 108, 114Registrierung 110Registrierung testen 113User-Domain-Klasse 107

gTunes-Beispielanwendung 26, 27

HHacken siehe

HackingHacking 357Hash 496hasMany-Property 71Hibernate 23, 56

Datentypen 468Dialekte 226GORM 228Mapping mit XML 475Performance 239Properties 227

Hibernate Criteria API 140, 218Hibernate Query Language 222hibernate.cfg.xml-Datei 483Hibernate-Session 228Hook

Variablen 327HQL 222HQL-Injektion 358HSQLDB 24HSQLDB-Datenbank 51HTTP-Anfragemethode 98

in URL-Mapping 160HTTP-Antwortcode

in URL-Mapping 161HttpClient 420HttpServletRequest-Objekt 120HttpServletResponse-Objekt 102, 120HttpSession-Objekt 120Hudson 293

Ii18n 39, 169IBM WebSphere 317IDE

für Grails 297Identität

in einer Datenbank 473

zusammengesetzte 474Identity-Generator 473Identity-Spalte 473id-Spalte 62Impedance Mismatch 61import-Direktive 121index-Action 30, 45, 79Inhaltsverhandlung 402Init.groovy-Skript 274Innere Bean 440inputStream-Property 102Installation

Grails 26install-plugin-Befehl 323Instanz

Verhalten erweitern 504Integrated Development Environment 297Integration

Grails 265Integrationstest 31, 76IntelliJ IDEA 297IntelliJ IDEA PSI 507Intercept 506Intercept, Cache, Invoke Pattern 507Internationalisierung 169

URL-Mapping 173Interzeptor 102Inversion of Control 23, 251Invoke 506invokeMethod-Methode 505IoC 23, 24, 251IoC-Container 251isCase-Methode 501isEmpty()-Methode 101Isolation 256Iteration 126Iteratives Tag 125Ivy 287

JJava

Builder Pattern 507und Groovy 487

Java Cryptography Extension 365Java Database Connectivity siehe

JDBCJava Naming and Directory Interface siehe

JNDIJava Persistence API 478

00_____Grails1-2_5094.book Seite 517 Freitag, 5. Februar 2010 2:26 14

© des Titels »Grails 1.2« (ISBN 978-3-8266-5094-9) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5094

Page 9: Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

Stichwortverzeichnis

518

Java Server Pages siehe: JSPJava Virtual Machine 23JAVA_HOME 26Java-API

von Amazon 191Java-Collections-API 494JavaScript Object Notation 399javax.sql.DataSource 51JBoss 317JCE 365JConsole 260JDBC 51jEdit 297jEdit (Texteditor) 299JetBrains 297JetGroovy 297Jetty 24JMS

Spring 445JMS-Message

verarbeiten 450versenden 448

JMX 259JNDI

Data-Source-Konfiguration 56in Grails 56

JNDI-Datenquelle 56konfigurieren 56

Job Scheduling 306Job-Scheduling-API 329join-Abfrage 242Join-Tabelle 465JPA 478JSecurity-Plugin 367, 370JSON 399, 412

Demarshalling 414Marshalling 412

JSP 119und GSP 119

JSP Standard Tag Library 119JSTL 119JVM 23

und Groovy 488

KKaskadierung 214Key 496

von Maps 496Klammer

in Groovy 488

Klassein Groovy deklarieren 490inspizieren 328Verhalten erweitern 335, 504

Komposition 74Konfiguration 265

auslagern 269Logging 266Stacktrace 269Umgebung 266

Kriterienin GORM 217

LLandeseinstellung 169Laufzeit

Verhalten hinzufügen 503Layout

von Views 49Lazy-Beziehung 240LazyInitializationException 237Lazy-Loading 236Leaky Abstraction 228Lebenszyklus

eines Objekts 236Legacy-Daten 463list.gsp-View 49list-Action 45, 49Liste

in Groovy 494list-plugins-Befehl 321Locking 246

optimistisches 246pessimistisches 247

log4j 266Logging 81

konfigurieren 266Login-Formular 108Logisches Tag 124log-Property 81logSql-Einstellung 226Lokales Plugin 323Lucene 203

MMacSOAP Client Project 429Map

in Groovy 494Keys 496

Mapping

00_____Grails1-2_5094.book Seite 518 Freitag, 5. Februar 2010 2:26 14

© des Titels »Grails 1.2« (ISBN 978-3-8266-5094-9) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5094

Page 10: Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

Stichwortverzeichnis

519

mit Annotationen 478mit Hibernate XML 475

mapping-Closure 463mapping-Property 68MarkupBuilder 508Markup-Sprache 119Marshalling 404

JSON 412XML 409

Matching-Operator 493McWhirter, Bob 487Medien-Streaming 389Mehrteilige Anfrage 100Meldung

lokalisieren 169parametrisierte 173Wert abrufen 170

Merge-Methode 239Message-driven POJO 450messages.properties-Datei 169messageSource-Bean 177Meta Object Protocol 502Meta Objekt Protocol 335MetaClass 502

inspizieren 502metaClass-Property 504Metadaten 318Metaprogrammierung 335, 502Methode

Aufrufe abfangen 505Methodenverkettung 319methodMissing-Hook 506Metro-Plugin 426MIME 402Mock 31mockFlash-Property 106Mock-Funktion 76mockParams-Property 106mockRequest-Property 106mockResponse-Property 106mockSession-Property 106Model

erstellen 88validieren 135

Model View Controller Pattern 29Modularisierung

mit Plugins 347MOP 335, 502Multiline-String 491MultipartFile-Interface 101

MVC 29MVC-Framework 29MVC-Pattern 120My Music-Bereich 382MySQL

Connector/J 54Data-Source-Konfiguration 55für Grails konfigurieren 54

NN+1-Problem 240N:1-Beziehung 465N:M-Beziehung 467Namensraum

für Tags 149natürliche ID 478Navigation

semantische 401Nebenläufigkeit 246NetBeans 298

OOasis 425Object-relational Impedance Mismatch 463Object-relational Mapping 35, 463Objekt

detached 236dynamisches 496einbetten 74Expando-Objekt 496Lebenszyklus 236Marshalling 409

Objektorientierungin Groovy 498

onChange-Event 336onComplete-Event 189onConfigChange-Event 339onERROR_CODE-Event 189One-To-Many-Beziehung 71One-To-One-Beziehung 69onFailure-Event 189onLoaded-Event 189onShutdown-Event 339onSuccess-Event 189Operator

überladen 499Operator Overloading 499Optimistisches Locking 246optionKey-Attribut 133optionValue-Attribut 133

00_____Grails1-2_5094.book Seite 519 Freitag, 5. Februar 2010 2:26 14

© des Titels »Grails 1.2« (ISBN 978-3-8266-5094-9) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5094

Page 11: Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

Stichwortverzeichnis

520

ORM 24, 35, 463ORM DSL 67ORM-Tool 228out-GSP-Attribut 120

PPackage 36

in Groovy 488Package Level Visibility 490package-plugin-Befehl 340page-Scope 124paginate-Tag 139

Attribut 140Paginierung 225

von Views 136Parameter

in URL 157in URL-Mapping einbetten 155

Parametrisierte Meldung 173<g:message>-Tag 174validieren 175

params-GSP-Attribut 120params-Objekt 90params-Property 86Performance

optimieren 239und Ajax 206

Permission-Interface 372Persistent 236Persistenz 209

Lebenszyklus 236transitive 214

Pessimistisches Locking 247Plain Old Java Object 433Plain Old XML 400Plattform

Grails 25Platzhalter

in URL-Mappings 159Plugin

Anwendungsartefakt 326Anwendungsbeispiele 342erstellen 324Events 336Grundlagen 321Hooks 326installieren 323lokales 323Modularisierung 347

paketieren 340Variablen 327Verhalten erweitern 342verteilen 340

Plugin-Community 321Plugin-Deskriptor 324plugin-info-Befehl 322Plugin-Metadaten 324Plugin-Repository 341Plugin-System 321Pointcut 102POJO 433

Constraints definieren 484Port 8080 33Port-Konflikt 33Post 348POX 400Primitiver Typ

und Autoboxing 499Principal (Shiro) 371Privilegium 357Produktionsumgebung

von Grails 50prod-Umgebungsoption 50Projektion 221Property

gegen Änderungen schützen 363transiente 66

Property Override Configuration 193Prototype 183, 413prototype (Bean Scope) 442prototype (Scope) 258

QQBE 222Quartz 306Quartz-Plugin 306Querschnittsproblem 367Query by Example 222Query Caching 245quick-start (Shiro) 370

RRadio-Button

erstellen 132Range 497RDBMS 24Read-Operation 40Really Simple Syndication 399

00_____Grails1-2_5094.book Seite 520 Freitag, 5. Februar 2010 2:26 14

© des Titels »Grails 1.2« (ISBN 978-3-8266-5094-9) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5094

Page 12: Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

Stichwortverzeichnis

521

Realm 370Authentifizierung 370

Realm-Klasse 370Redirect 87redirect-Methode 87Refactoring

von Services 253Regex 492Regulärer Ausdruck 492Relational Database Management System 24Remote Debugging 301Remote Linking

in Ajax 189Remote Method Invocation 25, 428Remoting 259renderArgs-Property 105render-Methode 30, 105render-Tag 143repeat-Tag 148Representational State Transfer 399request (Bean Scope) 442request (Scope) 258request.message-Anfrageattribut 84request-GSP-Attribut 120request-Objekt 102Request-Parameter 120

abrufen 86Content-Negotiation 408

request-Scope 83, 124Resolver 290response-GSP-Attribut 120responseWriter-Objekt 120Ressource (REST) 400REST 399, 400

Sicherheit 420RESTful 400RESTful Controller 400RHTML 122RMI 25, 428Rollback 256Rolle 367, 371, 379Rome 421RPC 425RSS 399, 420Ruby on Rails 23run-app-Befehl 33, 57Runtime-Scaffolding 37

Ssave()-Methode 64

save-Action 48Scaffolding 35

dynamisches 37statisches 37, 44Template-gesteuertes 44

scaffold-Property 37, 48Scheduling 306Schlüssel siehe KeyScope 83

Arten 124flash 83request 83Scopes von Grails 258servletContext 83session 83von Services 258

scope-Attribut 123Scriptaculous 201Scriptlet 119

in Groovy 121Searchable-Plugin 203

Methoden 204Second-Level Cache 243Secure Sockets Layer 420Security Realm 370Seitendirektive 121Seitenkontext 123Seiten-übergreifende Aufruf-Manipulation

364Semantische Navigation 401Sendmail 302Service

Beispiel 253benutzen 255definieren 254Depency Injection 252Refactoring 253Scope 258testen 258Transaktionen 256veröffentlichen 259

Services by Convention 251Service-Schicht 251Servlet-API 83ServletContext-Objekt 120servletContext-Scope 83, 84Session

abrufen 231session (Bean Scope) 442session (Scope) 258

00_____Grails1-2_5094.book Seite 521 Freitag, 5. Februar 2010 2:26 14

© des Titels »Grails 1.2« (ISBN 978-3-8266-5094-9) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5094

Page 13: Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

Stichwortverzeichnis

522

Session-Flushing 233session-GSP-Attribut 120Session-Management 229session-Scope 83, 124Shiro

Anwendungsbeispiel 372Authentifizierung 372Filter 377

Shiro-Plugin 367, 370show.gsp 49show-Action 45, 49Sicherheit 357

Codecs 365REST 420URL-Mappings 395

Sicherheitsbereich 370Sicherheitsfilter 369Simple Mail Transfer Protocol 302Simple Object Access Protocol 424Singleton 252singleton (Bean Scope) 442singleton (Scope) 258SiteMesh 23Skript

dokumentieren 276Slashy-Syntax 492SMTP 302SOAP 399, 424

Axis2-Plugin 426Beispiel für Integration 426Best Practices 425clientseitig aufrufen 429Metro-Plugin 426Spezifikation 425Standards 425testen 428XFire-Plugin 426

SOAP-Webservice 426Sonderzeichen

in URL-Mappings 156Spalte

in Datenbanktabelle 61Spring 23, 251, 433

Anwendungsbeispiel 445ApplicationContext 504Dependency Injection 433Errors-Interface 64JMS 445und Grails 435und Groovy 459

Spring Security-Plugin 367Spring-Bean 331

dynamische 334SQL 222SQL-Injektion 358SQL-Logging 226SSL 420Stacktrace

Konfiguration 269Standardaction

eines Controllers 80Standardattribut

von Controls 82Standard-View 89Statisches Scaffolding 37, 44Strachan, James 487String

in Groovy 491String-Interpolation 491Stub 31Subjekt (Shiro) 371Suchfunktion 202SwingBuilder 508switch-Anweisung 501Synchronizer Token Pattern 364Syndizierungsformat 421Syntax

deklarative 98

TTabelle

Spalten 61Tabelle-pro-Hierarchie 246Tabelle-pro-Unterklasse 246Table-per-Hierarchy-Mapping 72Table-per-Subclass-Mapping 73-Tag 134Tag

anwendungsspezifisches 147custom 147dynamisches 128iteratives 125Kategorien 147logisches 124Namensraum 149Variable setzen 123

Tag Library 128taglib-Direktive 123TDD 78, 292Template

00_____Grails1-2_5094.book Seite 522 Freitag, 5. Februar 2010 2:26 14

© des Titels »Grails 1.2« (ISBN 978-3-8266-5094-9) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5094

Page 14: Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

Stichwortverzeichnis

523

darstellen 90in GSP 143referenzieren 146

Template-driven-Scaffolding 37Template-gesteuertes Scaffolding 44Test

anwendungsspezifische Tags 149ausführen 32in Grails 31

Test Coverage 29Test-Abdeckung 29test-app-Befehl 32, 326Test-Driven Development 292Test-Driven Development siehe

TDDTesten

von Domain-Klassen 76von Services 258

Testumgebungvon Grails 51

test-Umgebungsoption 51Text

in Controller darstellen 86Texteditor

für Grails 299Textfeld

erstellen 132TextMate 297TextMate (Texteditor) 299Thread-Blocking 362Timestamping 248TLD-Datei 147Tomcat 24, 33, 317

Ant 278Tomcat-Container 58Tomcat-Server 317Transaktion 256

in GORM 234transferTo(dest)-Methode 101Transient 236Transiente Property 66Transitive Persistenz 214TurboGears 23

UÜberladen von Operatoren 499Umgebung

konfigurieren 266spezifizieren 51von Grails 50

uninstall-plugin-Befehl 323Unit-Test 31, 76Unmarshalling 418update

dbCreate-Wert 54update-Action 47Update-Operation 42URL

eingebettete Parameter 157URL-Encodierung 361URL-Escaping 361URL-Mapping 153

Constraints 158für eine View 157HTTP-Anfragemethode 160HTTP-Antwortcodes 161Internationalisierung 173mehrere in einer Klasse 164Parameter einbetten 155Platzhalter 159RESTful 400Sonderzeichen 156statische Elemente 154testen 165umgekehrtes 163Zugriffe einschränken 395

UrlMappings.groovy 153UserType (Hibernate) 468

Vvalidate

dbCreate-Wert 54validate()-Methode 64Validator 62

anwendungsspezifischer 65Validierung 135

Scheitern 64von Eingabedaten 91

Variablemit Tag setzen 123

Vererbungbei Domain-Klasse 72Datenbank-Mapping 72in GORM 246

Verhalteneiner Instanz erweitern 504einer Klasse erweitern 504zur Laufzeit hinzufügen 503

Verknüpfungstabelle 465Versionierung 318

00_____Grails1-2_5094.book Seite 523 Freitag, 5. Februar 2010 2:26 14

© des Titels »Grails 1.2« (ISBN 978-3-8266-5094-9) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5094

Page 15: Aus dem Inhalt: Graeme Rocher • Jeff Brown Fachkorrektur ... · Grails-Entwicklung bei SpringSource, dem Unternehmen hinter dem Spring-Framework, auf dem Grails aufbaut. ... create-tag-lib-Befehl

Stichwortverzeichnis

524

Versionskonflikt 246version-Spalte 62, 246Viele-zu-viele-Beziehung 467View 119

anwendungsspezifisch 89Content-Negotiation 409create.gsp 49darstellen 89edit.gsp 49Layout 49list.gsp 49paginieren 136show.gsp 49sichern 381Standard-View 89und URL-Mapping 157welche anzeigen? 47

WW3C

SOAP 425WAP 402WAR 57WAR-Archiv

erstellen 58WAR-Datei 58, 317

anpassen 318WAR-Deskriptor 339Web Application Archive siehe WARweb.xml-Datei 339Web-Framework 25Webservice 399

Wiederverwendungvon Grails 277

Wireless Application Protocol 402withFormat-Methode 404WSDL 425, 428WS-I 425WS-Security 420, 425

XXFire-Plugin 426

Beispiel 426XML

Demarshalling 414Marshalling 409

XML-Exportvon Daten 281

XMLHttpRequest-Objekt 181XSRF 364XSS 359

YYahoo UI 413

ZZeitangabe 134Zeitstempel

in GORM 248Ziel

von Grails 23Zugriffsrecht 357Zusicherung 490Zwischenspeicherung siehe Cashing

00_____Grails1-2_5094.book Seite 524 Freitag, 5. Februar 2010 2:26 14

© des Titels »Grails 1.2« (ISBN 978-3-8266-5094-9) 2010 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg Nähere Informationen unter: http://www.it-fachportal.de/5094