dummies
 

Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur ebooks mit Firmenlizenz anzeigen:

 

Java EE 7 - Enterprise-Anwendungsentwicklung leicht gemacht (2. Aufl.)

Dirk Weil

 

Verlag entwickler.press, 2015

ISBN 9783868026801 , 348 Seiten

Format PDF, ePUB, OL

Kopierschutz Wasserzeichen

Geräte

27,99 EUR

Für Firmen: Nutzung über Internet und Intranet (ab 2 Exemplaren) freigegeben

Derzeit können über den Shop maximal 500 Exemplare bestellt werden. Benötigen Sie mehr Exemplare, nehmen Sie bitte Kontakt mit uns auf.


 

Inhaltsverzeichnis

5

Vorwort

13

Kapitel 1 – Java EE im Überblick

15

1.1 Aufgabenstellung

15

1.2 Architekturmodell

15

1.3 Anwendungsbestandteile und Formate

16

1.4 Profile

18

1.5 Plattformen

19

2 CDI

21

2.1 Was ist das?

21

2.2 Wozu braucht man das?

21

2.3 Bereitstellung und Injektion von Beans

24

2.3.1 CDI Beans

24

2.3.2 Field Injection

25

2.3.3 Bean Type

26

2.3.4 Method Injection

27

2.3.5 Constructor Injection

28

2.3.6 Bean Name

29

2.3.7 Bean Scan

30

2.4 Lifecycle Callbacks

31

2.5 Qualifier

32

2.6 Alternatives

34

2.7 Nutzung der Java-EE-Umgebung

36

2.7.1 Java EE Resources

36

2.7.2 Built-in Beans

37

2.8 Producer und Disposer

38

2.8.1 Producer Methods

38

2.8.2 Producer Fields

39

2.8.3 Disposer Methods

40

2.8.4 Introspektion des Injektionsziels

41

2.9 Kontexte und Scopes

42

2.9.1 Request Scope

43

2.9.2 Session Scope

43

2.9.3 Application Scope

44

2.9.4 Conversation Scope

45

2.9.5 Bean Proxies

46

2.9.6 Dependent Scope

46

2.9.7 Qualifier @New

47

2.9.8 Transaction Scope

47

2.10 Interceptors

47

2.10.1 Interceptor Class

47

2.10.2 Interceptor Binding

48

2.10.3 Aktivierung eines Interceptors

50

2.10.4 Transaktions-Interceptor

51

2.11 Decorators

52

2.11.1 Decorator Class

52

2.11.2 Aktivierung eines Decorators

53

2.12 Stereotypes

53

2.13 Eventverarbeitung

55

2.13.1 Events erzeugen

56

2.13.2 Events verarbeiten

57

2.14 Programmgesteuerter Zugriff auf CDI Beans

60

2.14.1 Injektion von Bean-Instanzen

60

2.14.2 Bean Manager

61

2.15 Integration von JPA, EJB und JSF

62

2.16 Portable Extensions

63

2.16.1 Entwicklung eigener Extensions

64

2.16.2 Verfügbare Extensions

65

2.17 CDI in SE-Umgebungen

68

3 Java Persistence

71

3.1 Worum geht es?

71

3.1.1 Lösungsansätze

72

3.1.2 Anforderungen an O/R Mapper

73

3.1.3 Entwicklung des Standards

74

3.1.4 Architektur von Anwendungen auf Basis von JPA

75

3.2 Die Basics

76

3.2.1 Entity-Klassen

76

3.2.2 Konfiguration der Persistence Unit

78

3.2.3 CRUD

80

3.2.4 Detached Objects

82

3.2.5 Entity-Lebenszyklus

83

3.2.6 Mapping-Annotationen für einfache Objekte

84

3.2.7 Custom Converter

90

3.2.8 Generierte IDs

91

3.2.9 Objektgleichheit

94

3.2.10 Basisklassen für Entity-übergreifende Aspekte

97

3.3 Objektrelationen

98

3.3.1 Unidirektionale n:1-Relationen

99

3.3.2 Unidirektionale 1:n-Relationen

102

3.3.3 Bidirektionale 1:n-Relationen

103

3.3.4 Uni- und bidirektionale 1:1-Relationen

107

3.3.5 Uni- und bidirektionale n:m-Relationen

109

3.3.6 Eager und Lazy Loading

110

3.3.7 Entity Graphs

112

3.3.8 Kaskadieren

114

3.3.9 Orphan Removal

115

3.3.10 Anordnung von Relationselementen

116

3.4 Queries

118

3.4.1 JPQL

118

3.4.2 Native Queries

131

3.4.3 Criteria Queries

133

3.5 Vererbungsbeziehungen

141

3.5.1 Mapping-Strategie „SINGLE_TABLE“

142

3.5.2 Mapping-Strategie „TABLE_PER_CLASS“

144

3.5.3 Mapping-Strategie „JOINED“

145

3.5.4 Non-Entity-Basisklassen

146

3.5.5 Polymorphe Queries

147

3.6 Dies und das

147

3.6.1 Secondary Tables

147

3.6.2 Zusammengesetzte IDs

149

3.6.3 Dependent IDs

150

3.6.4 Locking

152

3.6.5 Callback-Methoden und Listener

156

3.6.6 Bulk Update/Delete

158

3.7 Caching

159

3.8 Erweiterte Entity Manager

163

3.8.1 Extended Entity Manager

163

3.8.2 Application-managed Entity Manager

165

3.9 Java Persistence in SE-Anwendungen

169

3.9.1 Konfiguration der Persistence Unit im SE-Umfeld

169

3.9.2 Erzeugung eines Entity Managers in SE-Anwendungen

170

3.9.3 Transaktionssteuerung in Java-SE-Anwendungen

171

3.9.4 Schema-Generierung

171

Kapitel 4 – Bean Validation

175

4.1 Aufgabenstellung

175

4.2 Plattformen und benötigte Bibliotheken

176

4.3 Validation Constraints

177

4.3.1 Attribute Constraints

177

4.3.2 Method Constraints

178

4.3.3 Vordefinierte Constraints

178

4.3.4 Transitive Gültigkeit

179

4.3.5 Constraint Composition

180

4.3.6 Constraint Programming

181

4.4 Objektprüfung

183

4.5 Internationalisierung der Validierungsmeldungen

184

4.6 Validierungsgruppen

185

4.7 Integration in JPA, CDI und JSF

187

4.8 Bean Validation in SE-Umgebungen

189

5 JavaServer Faces

191

5.1 Einsatzzweck von JSF

191

5.2 Die Basis: Java-Webanwendungen

191

5.2.1 Grundlegender Aufbau

191

5.2.2 Servlets

192

5.2.3 JavaServer Pages

194

5.3 JSF im Überblick

195

5.3.1 Model View Controller

195

5.3.2 Facelets

196

5.3.3 Request-Verarbeitung

197

5.4 Konfiguration der Webanwendung

199

5.5 Benötigte Bibliotheken und Plattformen

200

5.6 Programmierung der Views

201

5.6.1 JSF-Tag-Libraries

201

5.7 Managed Beans

207

5.8 Unified Expression Language

210

5.8.1 Methodenbindung

211

5.8.2 Wertebindung

211

5.8.3 Vordefinierte Variablen

213

5.8.4 Arithmetische Ausdrücke

214

5.9 Navigation

214

5.9.1 Regelbasierte Navigation

214

5.9.2 Inline-Navigation

216

5.9.3 Programmgesteuerte Navigation

217

5.10 Scopes

217

5.11 Verarbeitung tabellarischer Daten

218

5.12 Internationalisierung

220

5.12.1 Locale

221

5.12.2 Resource Bundles

222

5.12.3 Programmgesteuerter Zugriff auf Texte

223

5.13 Ressourcenverwaltung

223

5.13.1 Internationalisierung von Ressourcen

225

5.14 GET Support

225

5.14.1 Verarbeitung von GET-Request-Parametern

225

5.14.2 Erzeugung von GET-Requests

226

5.15 Eventverarbeitung

226

5.15.1 Faces Events

227

5.15.2 Phase Events

228

5.15.3 System Events

229

5.16 Konvertierung

230

5.16.1 Vordefinierte Konverter

230

5.16.2 Custom Converter

232

5.16.3 Ausgabe von Konverter- oder Validierungsmeldungen

233

5.17 Validierung

234

5.17.1 Validierung von Eingabewerten

234

5.17.2 Feldübergreifende Validierung

235

5.18 Immediate-Komponenten

241

5.18.1 „immediate“ für Eingabekomponenten

242

5.18.2 „immediate“ für Aktionskomponenten

242

5.19 AJAX

242

5.19.1 AJAX für Aktionselemente

243

5.19.2 AJAX-Events

244

5.19.3 AJAX-Callbacks

245

5.19.4 JavaScript API

245

5.20 Templating mit Facelets

246

5.20.1 Template

247

5.20.2 Template Client

247

5.20.3 Mehrstufige Templates

248

5.20.4 Mehrere Templates pro Seite

249

5.21 Eigene JSF-Komponenten

250

5.21.1 Composite Components

250

5.21.2 Composite Components mit Backing Beans

255

5.22 Faces Flows

256

5.22.1 Einfache, konventionsbasierte Flows

257

5.22.2 Deskriptorbasierte Flows

258

5.22.3 Producer-basierte Flows

259

5.22.4 Flow Scope

260

5.22.5 Extern definierte Flows

261

5.23 Resource Library Contracts

261

5.24 Exception Handling

262

5.25 Komponentenbibliotheken

264

5.26 Security

265

5.26.1 Log-in-Konfiguration

265

5.26.2 Securityrollen

266

5.26.3 Zugriffsregeln

267

6 Enterprise JavaBeans

269

6.1 Aufgabenstellung

269

6.2 Aufbau von Enterprise JavaBeans

269

6.2.1 EJB-Typen

270

6.2.2 EJB Lifecycle

272

6.3 EJB Deployment

272

6.4 Lokaler Zugriff auf Session Beans

273

6.4.1 Local Interface

274

6.4.2 No-Interface View

274

6.5 Remote-Zugriff

275

6.5.1 Remote Interface

275

6.5.2 Eintrag von EJBs im Namensdienst des Servers

277

6.5.3 Remote Lookup und clientseitige Nutzung von EJBs

278

6.6 Transaktionssteuerung

279

6.6.1 Transaction Management und Transaction Attribute

279

6.6.2 Application und System Exceptions

281

6.6.3 @Transactional vs. EJB Transactions

281

6.7 Asynchrone Methoden

282

6.8 Timer

283

6.9 Security

285

6.9.1 Deklarative Security

285

6.9.2 Programmgestützte Security

287

Kapitel 7 – RESTful Web Services

289

7.1 Hintergrund

289

7.2 REST-Prinzipien

290

7.3 JAX-RS

291

7.3.1 REST Application

291

7.3.2 Ressourcen

292

7.3.3 GET

293

7.3.4 PUT

297

7.3.5 POST

298

7.3.6 DELETE

300

7.3.7 Extended Path Expressions

301

7.3.8 Parameter-Injection

301

7.3.9 Subresource Locators

305

7.3.10 Entity Provider

306

7.3.11 Content Negotiation

309

7.3.12 Exception Handling

312

7.3.13 Clients

314

8 Ein „Real World“-Projekt

319

8.1 Aufgabenstellung

319

8.2 Anwendungsarchitektur

321

8.3 Persistenz

323

8.4 Views

332

8.5 Fachliche Injektion

336

Stichwortverzeichnis

339