100% found this document useful (1 vote)
14 views

PDF Beginning JavaServer Pages 1st Edition Vivek Chopra download

JavaServer

Uploaded by

kimoyekaddi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
14 views

PDF Beginning JavaServer Pages 1st Edition Vivek Chopra download

JavaServer

Uploaded by

kimoyekaddi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 51

Download Full ebookname - Read Now at ebookname.

com

Beginning JavaServer Pages 1st Edition Vivek


Chopra

https://ebookname.com/product/beginning-javaserver-
pages-1st-edition-vivek-chopra/

OR CLICK BUTTON

DOWLOAD EBOOK

Discover More Ebook - Explore Now at ebookname.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

JavaServer Pages Fast Easy Web Development w CD 1st


Edition Aneesha Bakharia

https://ebookname.com/product/javaserver-pages-fast-easy-web-
development-w-cd-1st-edition-aneesha-bakharia/

ebookname.com

Sams Teach Yourself JavaServer Pages in 21 Days 1st


Edition Steven Holzner

https://ebookname.com/product/sams-teach-yourself-javaserver-pages-
in-21-days-1st-edition-steven-holzner/

ebookname.com

Freedom from Addiction The Chopra Center Method for


Overcoming Destructive Habits Deepak Chopra

https://ebookname.com/product/freedom-from-addiction-the-chopra-
center-method-for-overcoming-destructive-habits-deepak-chopra/

ebookname.com

Options for the Beginner and Beyond Unlock the


Opportunities and Minimize the Risks 1st Edition W. Edward
Olmstead
https://ebookname.com/product/options-for-the-beginner-and-beyond-
unlock-the-opportunities-and-minimize-the-risks-1st-edition-w-edward-
olmstead/
ebookname.com
Dictionary of Computing Over 10 000 terms clearly defined
5th Edition Paul Roseby

https://ebookname.com/product/dictionary-of-computing-
over-10-000-terms-clearly-defined-5th-edition-paul-roseby/

ebookname.com

Handbook of Research on Effective Electronic Gaming in


Education Set of 3 1st Edition Richard E. Ferdig

https://ebookname.com/product/handbook-of-research-on-effective-
electronic-gaming-in-education-set-of-3-1st-edition-richard-e-ferdig/

ebookname.com

Introduction to Pragmatics 1st Edition Betty J. Birner

https://ebookname.com/product/introduction-to-pragmatics-1st-edition-
betty-j-birner/

ebookname.com

Diagnostic Imaging Brain 1st Edition Anne Osborn

https://ebookname.com/product/diagnostic-imaging-brain-1st-edition-
anne-osborn/

ebookname.com

Mobile Radio Channels 2nd Edition Matthias Patzold

https://ebookname.com/product/mobile-radio-channels-2nd-edition-
matthias-patzold/

ebookname.com
Encyclopedia of Jewish American Literature Encyclopedia of
American Ethnic Literature 1st Edition Gloria L. Cronin

https://ebookname.com/product/encyclopedia-of-jewish-american-
literature-encyclopedia-of-american-ethnic-literature-1st-edition-
gloria-l-cronin/
ebookname.com
Beginning JavaServer Pages™

Vivek Chopra
Sing Li
Rupert Jones
Jon Eaves
John T. Bell
Beginning JavaServer Pages™
Beginning JavaServer Pages™

Vivek Chopra
Sing Li
Rupert Jones
Jon Eaves
John T. Bell
Beginning JavaServer Pages™
Published by
Wiley Publishing, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256
www.wiley.com
Copyright © 2005 by Wiley Publishing, Inc., Indianapolis, Indiana
Published by Wiley Publishing, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 0-7645-7485-X
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
1B/QT/QS/QV/IN
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any
means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections
107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or
authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood
Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be
addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317)
572-3447, fax (317) 572-4355, e-mail: brandreview@wiley.com.

LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND THE AUTHOR MAKE NO REP-
RESENTATIONS OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CON-
TENTS OF THIS WORK AND SPECIFICALLY DISCLAIM ALL WARRANTIES, INCLUDING WITHOUT
LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE. NO WARRANTY MAY BE CRE-
ATED OR EXTENDED BY SALES OR PROMOTIONAL MATERIALS. THE ADVICE AND STRATEGIES CON-
TAINED HEREIN MAY NOT BE SUITABLE FOR EVERY SITUATION. THIS WORK IS SOLD WITH THE
UNDERSTANDING THAT THE PUBLISHER IS NOT ENGAGED IN RENDERING LEGAL, ACCOUNTING, OR
OTHER PROFESSIONAL SERVICES. IF PROFESSIONAL ASSISTANCE IS REQUIRED, THE SERVICES OF A
COMPETENT PROFESSIONAL PERSON SHOULD BE SOUGHT. NEITHER THE PUBLISHER NOR THE
AUTHOR SHALL BE LIABLE FOR DAMAGES ARISING HEREFROM. THE FACT THAT AN ORGANIZATION
OR WEBSITE IS REFERRED TO IN THIS WORK AS A CITATION AND/OR A POTENTIAL SOURCE OF FUR-
THER INFORMATION DOES NOT MEAN THAT THE AUTHOR OR THE PUBLISHER ENDORSES THE INFOR-
MATION THE ORGANIZATION OR WEBSITE MAY PROVIDE OR RECOMMENDATIONS IT MAY MAKE.
FURTHER, READERS SHOULD BE AWARE THAT INTERNET WEBSITES LISTED IN THIS WORK MAY HAVE
CHANGED OR DISAPPEARED BETWEEN WHEN THIS WORK WAS WRITTEN AND WHEN IT IS READ.

For general information on our other products and services or to obtain technical support, please contact our Cus-
tomer Care Department within the U.S. at (800) 762-2974, outside the U.S. at (317) 572-3993 or fax (317) 572-4002.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be
available in electronic books.
Library of Congress Cataloging-in-Publication Data
Beginning JavaServer pages / Vivek Chopra ... [et al.].
p. cm.
Includes index.
ISBN 0-7645-7485-X (paper/website)
1. JavaServer pages. 2. Web sites--Design. 3. Web site development. I. Chopra, Vivek.
TK5105.8885.J38B45 2005
006.7 6--dc22
2004024591
Trademarks: Wiley, the Wiley Publishing logo, Wrox, the Wrox logo, Programmer to Programmer, and related trade
dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States
and other countries, and may not be used without written permission. JavaServer Pages is a trademark of Sun
Microsystems, Inc. All other trademarks are the property of their respective owners. Wiley Publishing, Inc., is not
associated with any product or vendor mentioned in this book.
About the Authors
Vivek Chopra has over ten years of experience as a software developer, architect, and team lead, with
extensive experience with Web services, J2EE, and middleware technologies. He has worked and con-
sulted at a number of Silicon Valley companies and startups and has (pending) patents on Web services.
Vivek actively writes about technology and has coauthored half a dozen books on topics such as open-
source software, Java, XML, and Web services. He contributes to open source, too, and has developed
parts of the uddi4j library, an open-source Java API for UDDI.

Sing Li, first bit by the microcomputer bug in 1978, has grown up with the microprocessor age. His first
personal computer was a do-it-yourself Netronics COSMIC ELF computer with 256 bytes of memory,
mail-ordered from the back pages of Popular Electronics magazine. Currently, Sing is a consultant, system
designer, open-source software contributor, and freelance writer. He writes for several popular technical
journals and e-zines and is the creator of the Internet Global Phone, one of the very first Internet phones
available. He has authored and coauthored numerous books across diverse technical topics, including
JSP, Tomcat, servlets, XML, Jini, and JXTA.

Rupert Jones is a Technical Lead for J2EE projects at Internet Business Systems. Over the past six years,
Rupert has provided software development and consulting services for blue-chip companies, both in
Australia and internationally. He lives and works in Melbourne, Australia. Rupert can be contacted at
rup@rupertjones.com.

Jon Eaves has been developing software in a variety of languages and domains for over 15 years. He is
currently employed by ThoughtWorks, developing large-scale enterprise systems using J2EE. When he
can find spare time, he develops J2ME/MIDP applications and works on the BouncyCastle Crypto APIs
(www.bouncycastle.org). Jon can be reached at jon@eaves.org.

John T. Bell has more than 20 years of software development experience and currently serves as the lead
software architect for the Web site of a major hospitality company based in Bethesda, Maryland. He is
also an adjunct professor, teaching server-side Java technologies for the Center for Applied Information
Technology at Towson State University. He has a master’s degree in Computer Systems Management
and a bachelor’s degree in Electrical Engineering, both from the University of Maryland. This is Mr.
Bell’s third contribution to a Wrox title. He is also the author of The J2EE Open Source Toolkit.
Credits
Acquisitions Editor Project Coordinator
Robert Elliott April Farling

Development Editor Graphics and Production Specialists


Sydney Jones Jonelle Burns
Carrie A. Foster
Technical Editor Lauren Goddard
Wiley-Dreamtech India Pvt Ltd Denny Hager
Joyce Haughey
Production Editor Amanda Spagnuolo
William A. Barton
Quality Control Technicians
Copy Editor Jessica Kramer
Luann Rouff Susan Moritz
Carl William Pierce
Editorial Manager Charles Spencer
Mary Beth Wakefield
Media Development Specialist
Vice President and Executive Group Publisher Kit Malone
Richard Swadley
Proofreading and Indexing
Vice President and Publisher TECHBOOKS Production Services
Joseph B. Wikert
Acknowledgments
Vivek Chopra
I’d like to thank my coauthors and all the folks at Wrox for the effort and the long hours—thank you,
Rupert, Sing, Jon, John, Sydney, James, and Bob! I’d especially like to thank my wife, Rebecca, for her
patience and support, especially since I spent most weekends working on this book.

Sing Li
Thanks to the virtual Beginning JavaServer Pages team, top professionals from all corners of the globe.
It was wonderful working with you throughout 2003 and 2004.

To my wife, Kim—your inspiration and support are the high-octane fuel that keeps me running, looking
joyfully forward to each brave new day.

Rupert Jones
First of all, I’d like to thank my coauthors for their dedication to this book. It’s not easy holding down a
full-time job in this industry and fitting in time for such a venture. I am constantly amazed we all still
have friends and family who will talk to us, let alone recognize us. It’s been a pleasure undertaking this
task with a group of such consummate professionals.

To the Wrox crew—in particular, Sydney Jones, our developmental editor, and our tech reviewers at
DreamTech—thanks for all your hard work in getting us across the line. I know its difficult working
with technical people at the best of times, especially when they are geographically remote.

Thanks also to my colleagues at Internet Business Systems: Steve Hayes, Rob Mitchell, and Shane
Clauson. These guys provided me with much-needed help, advice, and encouragement, even in my
grumpier moments. It really is a pleasure to work with each of you.

And last but certainly not least, thanks to my loving family: Julia, Michael, Nick, and Caroline.

Jon Eaves
I’d like to thank my coauthors and the team at Wrox for the hard work they put in while creating this
book. Closer to home, I’d like to thank my family for their encouragement, patience, and support. Mum
and Dad, everything I can do is because of your love. My wonderful wife, Sue, you rock my world more
and more every day. Boo and Maddy, your purring late at night kept me going when the words
wouldn’t come. Thank you, all.

John T. Bell
To Tammy, my loving and patient wife, maybe someday I will write a book that you can read, and to my
grandmother, Valmai Locklair, who slipped away from us as I was writing my chapters.
Contents

About the Authors v


Acknowledgments vii

Introduction xxv
The Right Way to Do Web Development xxv
Approach xxvi
How This Book Is Structured xxvi
Conventions xxix
Source Code xxx
Errata xxx
p2p.wrox.com xxx

Part I: JSP Fundamentals 1

Chapter 1: Getting Started with JavaServer Pages 3


Creating Applications for the Internet 4
Limitations of the basic Web server model 5
Dynamic HTML generation via CGI 5
Shortcomings of CGI 7
Improving Java-based CGI: servlets 7
Summary 28
Exercises 29

Chapter 2: JSP Basics 1: Dynamic Page Creation for Data Presentation 31


The Anatomy of a JSP Page 31
Directives 32
XML-compatible syntax 33
Template data 33
Action 34
Scripting elements 35
Handling HTML form submission with JSP 36
Web site personalization 60
Summary 70
Exercises 71
Contents
Chapter 3: JSP Basics 2: Generalized Templating and Server Scripting 73
Scripting Elements for Java Code Embedding 74
Scripting elements 75
Creating a Simple Web Storefront 80
Attaching attributes to implicit objects 86
Rendering the list of categories 88
Rendering the list of products in a given category 89
Adding a Shopping Cart to a Catalog 90
Creating the Shopping Cart 95
Decoding incoming request parameters 97
Rendering order information 98
Rendering the Return to Shopping hyperlink 98
Shopping cart limitations 99
Overcoming the shopping cart limitations 100
Sessions and JSPs 107
Rendering the shopping cart using a session attribute 111
Summary 114
Exercises 115

Chapter 4: CSS, JavaScript, VBScript, and JSP 117


Code Elements That Execute
on the Client Side 118
Cascading Stylesheets 119
JavaScript 120
VBScript 121
User Preference Implementation 121
Creating a User-Customizable DHTML Menu 132
Summary 143
Exercises 144

Chapter 5: JSP and EL 145


EL and Its Vital Role in JSP 146
EL Named Variables 146
Applying EL 148
Using EL expressions inline with template data 148
Using EL expressions in attribute values 148
Coercion: Automatic Type Conversion 157
Boxing and unboxing 157
Coercion to a string 157
Coercion to a number 158

x
Contents
Coercion to a character 158
Best attempt to “do the right thing” without error 158
Accessing Object Properties and Collections 162
Implicit EL Objects in JSP 2.0 167
User-Supplied Functions within EL 173
Namespace and EL functions 173
Static methods of a Java class 173
Summary 177
Exercises 178

Chapter 6: JSP Tag Libraries and JSTL 179


The Vital Role of JSP Tag Libraries 180
The JSP Standard Tag Library 181
Anatomy of a Tag Library 182
The Tag Library Descriptor 182
The taglib map in the web.xml deployment descriptor 183
Locating JSTL and understanding tag library packaging 184
JSTL tags 184
Summary 210
Exercises 211

Chapter 7: JSP Directives 213


Directive Basics 214
Directives as instructions for the container 214
Alternative XML syntax for directives 214
Available JSP directives 215
The page Directive 217
The language attribute 217
The extends attribute 217
The import attribute 218
The session attribute 218
The info attribute 219
The isELIgnored attribute 219
The isErrorPage attribute 219
The errorPage attribute 220
The contentType attribute 220
The taglib Directive 223
Two general usage forms for the taglib directive 224
Attributes of the taglib directive 225
How It Works 227

xi
Contents
The include Directive 231
The include performed at translation time 231
Summary 239
Exercises 239

Chapter 8: JSP Standard Actions 241


JSP Standard Actions Are Built-in Tags 242
Actions for Working with JavaBeans 242
The <jsp:useBean> standard action 243
How <jsp:useBean> and JSTL <c:set> Differ 258
Including JSP Output via <jsp:include> 259
Transferring Control Between JSPs 264
The <jsp:forward> standard action 264
Specifying Parameters for Other Actions 265
The <jsp:param> standard action 265
Working with Plug-ins 266
The <jsp:plugin> standard action 267
The <jsp:params> standard action 267
The <jsp:fallback> standard action 268
Standard Actions Specific to Tag Files 273
Summary 274
Exercises 274

Chapter 9: JSP and JavaBeans 275


Anatomy of a JavaBean 276
JavaBean Properties 277
JavaBean methods 280
Common JavaBean packaging 281
How JavaBeans and EJBs Differ 301
Summary 301
Exercises 302

Chapter 10: Error Handling 303


Understanding the Origin of Errors 303
Errors in Java language coding 304
Errors in JSP directives and actions 309
JSTL errors and EL errors 326
User data-input errors 327
Errors found in JSP template data 327

xii
Contents
Summary 328
Exercises 328

Chapter 11: Building Your Own Custom JSP Tag Library 329
What Is a Tag File? 329
A Simple Tag File: Displaying Today’s Date 330
Advantages of Tag Files 331
Code reuse 331
Hiding complexity 331
Separation of concerns 331
Simplicity 332
Flexible packaging 332
Developing Tag Files 332
Scope and implicit objects 332
Using directives in tag files 335
Body processing 341
Attributes 345
Packaging Tag Files 355
Java custom actions versus tag file custom actions 358
Summary 359
Exercises 359

Chapter 12: Advanced Dynamic Web Content Generation 361


Data Validation in Web Applications 362
Server-side validation and efficient usage of resources 363
Client-side data validation 364
The need for server-side validation 365
Common client-side validation scenarios 365
Operation of client-side validation 365
Dynamic generation of client-side JavaScript code 379
Dynamic generation of XML using JSP 386
Summary 392
Exercises 393

Chapter 13: Internationalization and Localized Content 395


About Internationalization-Ready Applications 396
Internationalization and Localization 396
The unique i18n requirements of a Web-based JSP application 397

xiii
Contents
Building on the Java Platform’s i18n Capabilities 399
The concept of a locale 399
Maintaining locale information 400
Summary 433
Exercises 434

Chapter 14: JSP Debugging Techniques 435


The Science of Debugging 436
Catching Bugs at Compile Time 437
Using a Debugging System versus a Production System 441
Using System.out.println() to Instrument Code 442
Using a Logging System 445
Logging through the servlet container 445
Logging with the JDK logger 447
Logging with Log4j 454
Logging with tag libraries 460
Debugging with Tools 464
Setting breakpoints 464
Examining variables and setting watchpoints 467
Stepping through code 468
Remote debugging 468
Debugging Code in Production Environments 469
Debugging when the JSP is precompiled 470
Debugging under load 470
Adding contextual information to log files 471
Adding log filters 474
Finding the Intermittent Problem 474
Adding information as response comments 474
Snoop application 475
Avoiding Concurrency Issues 479
Summary 479
Exercises 479

Part II: JSP and Modern Web Server


Software Development 481

Chapter 15: JSPs and Servlets 483


A JSP Is a Servlet 484
Anatomy of a servlet 488
The lifecycle of a servlet 492

xiv
Contents
Describing servlets to containers in the deployment descriptor 495
The servlet declaration 497
Using servlets when JSP is available 503
Specifying initialization parameters 504
Accessing initialization parameters within the ControllerServlet 506
Custom forwarding of incoming requests via the controller servlet 508
The forwarding targets 509
Summary 510
Exercises 510

Chapter 16: The Role of JSP in the Wider Context: Web Applications 511
What Is a Web Application? 512
Directory Structure for a Web Application 512
The Deployment Descriptor 513
Deployment descriptor elements for a JSP developer 513
Using a Web Archive 523
Development and Deployment Strategies 523
Packaging and Deploying for Tomcat 524
Introduction to Web application security 528
Summary 529
Exercises 530

Chapter 17: Model View Controller 533


What Is MVC? 534
MVC and Web Applications 534
Summary 546
Exercise 547

Chapter 18: Web Frameworks 549


What Is a Framework? 549
Why Frameworks Are Good 550
Types of Frameworks 551
Application frameworks 551
Persistence frameworks 552
Utility frameworks 553
WebWork 554
Components of WebWork 554

xv
Contents
The Spring Framework 567
Main components of the Spring MVC 567
An example using Spring 569
Summary 589
Exercises 590

Chapter 19: Struts Framework 591


Introducing Struts 592
A Struts walkthrough 593
Controller: actions and forms 594
Model 603
View 604
Example application 624
Summary 641
Exercises 641

Chapter 20: Layout Management with Tiles 643


Introduction to Tiles 643
What is the Tiles framework? 644
Tiles terminology 645
Installing Tiles 646
Tile Scope 650
Definitions 650
Tiles Tags 652
insert 653
definition 654
put 654
putList 655
add 656
get 656
getAsString 656
useAttribute 657
importAttribute 657
initComponentDefinitions 658
Passing Parameters to Tiles 658
Advanced Tiles 659
Definitions and inheritance 659
Nesting tiles 664

xvi
Contents
Tiles and Struts 671
Configuring Tiles with Struts 671
Tiles definitions as action forwards 671
Passing values from Struts to Tiles 673
Summary 678
Exercises 679

Chapter 21: JavaServer Faces 681


Configuring a JSF Project 681
Getting Started with JSF 683
Using backing beans 685
Managed beans 687
Controlling navigation 687
Preventing direct access to Faces JSP files 690
JSF Lifecycle 690
Restore view 692
Apply request values 692
Process validations 692
Update model values 692
Invoke application 693
Render response 693
Validating Data 693
Using standard validators 697
Creating your own validation 697
Converting Data 705
Standard converters 711
Implementing the Converter interface 713
Handling Events with Listeners 715
JSF versus Struts 718
Summary 719
Exercises 719

Chapter 22: JSP in J2EE 721


Overview of J2EE 721
What is J2EE? 722
What does a container do? 724
J2EE Technologies 724
J2EE APIs 725
J2EE platform architecture 727
JSP development scenarios 728

xvii
Contents
Using JSP with J2EE Components 729
Servlets 730
JNDI 735
JDBC 738
EJB 741
Benefits of EJB 742
Restrictions on EJB 742
Types of EJB 743
Session beans 743
Entity beans 744
Message-driven beans 745
Timer Service 745
Summary 746
Exercises 746

Chapter 23: Access to Databases 747


Introduction to Databases 748
Connecting to a database 749
Downloading and Installing MySQL 752
JDBC APIs 753
Building Applications 774
Data characteristics 774
Transactions 775
Object-relational mapping 777
Different Types of Applications 777
Simple applications 778
Using JSP and JDBC 778
More complex applications 782
Using Hibernate 782
Installing Hibernate 784
Summary 823

Chapter 24: Security 825


Areas of Security 825
Authentication 826
Authorization 828
Data integrity 830
Confidentiality 830
Data Integrity and Confidentiality 830
Implementing SSL 831

xviii
Contents
Authentication 837
HTTP BASIC authentication 837
Form-based authentication 843
Client-certificate authentication 849
Authorization 855
Container 855
Programmatic 855
Summary 860
Exercises 860

Chapter 25: Performance 861


Performance Concepts 861
What to measure 862
The user’s perspective 863
How to measure performance 863
What to do after performance testing 865
Measuring Performance Using JMeter 866
Installing JMeter 866
JMeter concepts 866
Performance Tuning Tips 872
Development-time measures 872
Deployment-time measures 875
Summary 883

Chapter 26: Best Practices and Tools 885


Development Methodologies 886
Waterfall and iterative methodologies 886
Rational Unified Process 888
Extreme Programming 888
Test-driven development 889
Feature-driven development 890
Development Tools 890
Version-control tools 890
Build tools 890
Testing tools 891
Logging tools 891
Tools for enforcing coding standards 891
Apache Ant 892
Installing Ant 892
Ant concepts 893
Additional resources 903

xix
Contents
CVS 903
Installing CVS 903
CVS concepts 903
Connecting to a CVS server 904
Checking in code 905
Checking out code 906
Comparing changes across revisions 906
Additional resources 907
JUnit 907
Installing JUnit 907
JUnit concepts 908
Additional resources 915
HttpUnit 915
Installing HttpUnit 915
HttpUnit concepts 916
Additional resources 919
Best Practices for Web Development 919
Follow good JSP coding practices 919
Separate application logic and presentation 920
Use design patterns where appropriate 920
Use frameworks for developing applications 921
Early testing and integration 921
Summary 921
Exercises 922

Part III: Spreading Your New Wings:


Applying JSP in the Real World 923

Chapter 27: JSP Project I: Personalized Portal 925


The Portal Project 925
Introduction to RSS 926
Introduction to Web services 929
Project Features 930
Use cases 931
Initial analysis 931
The Application Design 932
Designing the persistent store 932
Defining the key entity objects 935
Designing the Web site control flow 944

xx
Contents
The Development Environment 945
Directory structure 946
Build scripts 947
Struts 949
Tiles 950
Log4j 951
Rome 953
Apache Axis 956
The Application 958
View 959
Controller 966
Running the portal application 975
Summary 981
Exercises 981

Chapter 28: JSP Project II: Shopping Cart Application 983


The Bookstore Project 984
Project features 984
Use cases 984
Initial analysis 985
Application Design 986
Database design 986
Defining the key entity objects 989
The Development Environment and Its Configuration 1008
Directory structure 1009
Tomcat 1010
Ant 1010
Database 1016
Hibernate 1016
Struts, Validator, and Tiles 1022
web.xml 1023
The Application 1024
Application layout: Tiles 1024
Cart status 1026
Presenting a list of categories 1028
Presenting a list of books 1030
Adding a book to the shopping cart 1034
Managing the shopping cart 1036
Checkout 1042
Summary 1055
Exercises 1055

xxi
Contents

Part IV: Appendixes 1057

Appendix A: JSP Syntax Reference 1059


Scoping 1060
page scope 1060
request scope 1061
session scope 1061
application scope 1061
Implicit Objects 1062
The request object 1062
The response object 1062
The pageContext object 1063
The session object 1063
The application object 1064
The out object 1064
The config object 1065
The page object 1065
The exception object 1065
Directives 1066
The page directive 1066
The taglib directive 1067
The include directive 1067
Tag file directives 1068
Actions 1070
Standard actions 1070
Other JSP standard actions 1074
Scripting Elements 1075
Declaration scripting elements 1075
Scriptlets 1075
Expression scripting elements 1076

Appendix B: JSP Expression Language Reference 1077


EL Expressions 1077
EL expressions in-line with template data 1077
EL expressions in attribute values 1078
Accessing Arrays, Maps, Object Properties, and Collections 1078
Object properties access 1078
Array member access 1078
Java map access 1078
Java collection access 1079

xxii
Discovering Diverse Content Through
Random Scribd Documents
Bretter, die vom Tanz ausruhenden Schönen zum Sitzen einladend,
und auf denen zu den Klängen der Musik leise zu schaukeln für die
jüngste Jugend allein schon ein Gaudium ist.
Hier sind die Jüngsten durchaus nicht von der Feier
ausgeschlossen; und gerade das übt einen besonderen Reiz, daß
bei solcher Gelegenheit die junge Tagelöhnerfrau mit Stolz ihre
ganze kleine Nachkommenschaft vorführen und sie der gleich alten
Tochter der Herrschaft, die zum Besuch ist, zum Vergleich mit ihren
kleinen Stadtkindern vorstellen kann. Es bietet sich Gelegenheit,
einander mit allem, was zusammengehört, zu sehen und kennen zu
lernen, wie es in der Stadt kaum möglich ist.
Hanni und Käte, die das alles zum erstenmal erlebten, waren
anfangs ein bißchen befangen. Denn die Formen der Fröhlichkeit
sind bei diesen Leuten beträchtlich anders als all das, was sie bisher
kannten. Aber Rantzaus und Klärchen, die jedes Jahr diese Feste
mitfeierten, bewegten sich völlig harmlos und fanden gar nichts
dabei, daß die stattlicheren unter den Tänzern mit ihren steifen,
sonderbaren Verbeugungen auch zu ihnen kamen. Die Sache wurde
ja mit aller nötigen Vorsicht betrieben: die Hausmädchen
beeinflußten ihre Kavaliere dahin, daß nur die wirklich geübten sich
den Fräuleins nahten. Dann wurde auch jeder, der es tat,
verpflichtet, die zarten Kleider der Damen dadurch zu respektieren,
daß er seine Hand mit dem rotbunten Taschentuch verhüllte; eine
Sitte, über die Käte sich vor Lachen schüttelte.
»Tante Ida,« sagte Klärchen, und setzte sich ein wenig zu der
allgemein Verehrten, um auszuruhen, »du solltest bloß versuchen,
wie wunderbar glatt es sich hier tanzt; wie auf dem schönsten
Parkett!«
»Ja, das glaube ich schon! Wäre gerade das Richtige für mein
lahmes Bein! Bin eben, beim Hereinkommen, schon beinahe
ausgerutscht! Aber wenigstens weiß ich nun doch, wo auf einmal
alle Schlafstubenkerzen hingekommen sind, die gewiß noch eine
halbe Woche brennen konnten! Diese windige Berliner Lisbeth hat
den anderen beigebracht, daß man die Lichter zerschaben und auf
den Fußboden streuen muß, damit er spiegelblank wird! So ein
Unfug!«
Hermann Schack erzählte Hanni, wie in München solche
Volksfeste gefeiert würden; er konnte sich nicht genug wundern über
die Ruhe und Ordnung, in der hier alles vor sich ging.
»Etwas tut natürlich auch die Nähe der Herrschaft,« meinte Hanni;
»unsere Stubenmädchen baten erst dringend, wir möchten doch
recht spät bleiben, denn so lange wären sie vor jedem Lärm und
Streit sicher.«
»O, das wollen wir schon machen,« entgegnete Hermann. »Es
tanzt sich wirklich fein hier!«
»Ich glaube,« meinte Hanni kindlich, »wir passen so gut von
Größe zusammen, daher geht es mit Ihnen so viel besser, als mit
Erich oder Felix!«
»Das wird’s wohl sein,« war seine vergnügte Antwort. »Vielleicht
kommt’s auch daher, weil wir überhaupt zueinander passen!«
Der Brummbaß war so laut, daß man ihre Antwort, wenn sie eine
gab, nicht verstehen konnte.
Käte kam herbei und wollte sich totlachen vor Spaß über die
ehrbaren Gesichter, mit denen die Leute tanzten: »Ernsthaft wie die
Tiere – als wenn sie die schwerste Arbeit verrichteten!«
»Sieh bloß,« rief Erich, »wie Felix die Rockschöße fliegen! Die
dicke Rademacherfrau will ihm die Polka beibringen. Sie läßt sich
wahrhaftig nicht aus dem Takt bringen durch seine Sprünge – es
sieht ja unglaublich aus!«
Wieder und wieder machte man die Runde. Die stark ins Ohr
fallenden Weisen der kreischenden Instrumente, die ganz
ungewohnte Umgebung, der unsichere, flackernde Kerzenschein,
das Vorgefühl der Trennung – alles zusammen versetzte Hanni in
eine unklare, schwankende Stimmung; und als Hermann wieder um
einen Walzer bat, erwiderte sie zögernd: »Bitte, lieber nicht mehr!
Wissen Sie noch, was ich Ihnen neulich über Muttis Meinung sagte:
es sei nichts Verkehrtes dabei, solange ich jederzeit gern bereit
wäre, aufzuhören! – Denken Sie, eben tat es mir beinahe weh, daß
es nun bald zu Ende geht. Dann sollte ich doch lieber nicht mehr
tanzen!«
»Gerade jetzt, wo es so wunderbar geht?« fragte er dringend.
Sie sah ihn hilfesuchend an: »Sie würden mich doch sicher nicht
um etwas bitten, was nicht recht ist!«
»Nein, ganz gewiß, niemals!« sagte er und setzte sich wieder.
»Furchtbar müde bin ich auch schon,« fuhr Hanni fort; und er sah
erschrocken, wie blaß ihr Gesicht geworden. »Das kommt auch mit
vom Kummer. Denken Sie, wie allein ich sein werde, wenn morgen
Käte und die süßen Jungen wegreisen. – Sie müssen sicher nicht
meinen, ich sei undankbar. Gewiß, ich habe Mutti und Tante Ida –
ach und so vieles –, aber Abschied ist doch etwas ganz
Fürchterliches. Es würgt mich dann so da,« sie drückte die Hand
aufs Herz, »daß es kaum auszuhalten ist.«
Hätte er doch irgend etwas zu ihrem Trost sagen können. Aber
Trost kannte er ja selber nie; es hieß immer nur »durch«. »Wenn Sie
doch einen Bruder oder eine Schwester hätten!«
Aber damit berührte er nun sehr gegen seine Absicht eine ganz
wunde Seite. »Mein Bruder ist ja tot, er war etwa von Ihrem Alter,«
flüsterte sie leise, und konnte nun trotz aller Anstrengung kaum
länger die Tränen unterdrücken. Es war ein Glück, daß gerade
Lisbeth kam, um zu melden: »Der Buchdorfer Wagen ist
vorgefahren, und die jungen Herrschaften möchten gleich kommen,
um sich abzukühlen!«
In dem allgemeinen Durcheinander des Abschieds konnte Hanni
unbemerkt ihrer Erregung Herr werden, und sie war von Herzen froh,
als sie endlich die weiße Bettdecke über ihr Gesicht ziehen und sich
gründlich ausweinen konnte. Ach, daß die schönen Ferien und alles,
alles so schnell vorbeigegangen!
Noch einer hatte die Decke übers Gesicht gezogen und
schluchzte, daß das Bettchen bebte: Der kleine Ernst, dem es war,
als schlössen sich die Paradiesespforten hinter ihm und vor ihm läge
nichts als trostlose Öde, Straßenlärm, der einen betäubte,
ängstliches Ausweichen, statt unbehinderten Herumlaufens,
Stubenhocken statt Obstgarten, das graue Einerlei der fürchterlichen
Hinterhoffenster. O, o, o! Er drückte den schmerzenden Kopf tief ins
Kissen. Kein Pony, kein Bello, der so tolle Sprünge machte, kein
Feueranzünden am See, kein Im-Grase-liegen und Hören, wenn die
Kuhglocken läuten, die Grillen zirpen und die Frösche quaken!
Niemand, der es nicht durchgemacht, kann sich die Qual
vorstellen, die ein Kinderherz durchbebt, wenn es all diese
beglückenden Schätze hinter sich lassen muß und in die engen
Stadtmauern hinein, die einstweilen nur als ein Kerker erscheinen.
Käte wollte noch etwas aus ihrer Mutter Schlafzimmer holen,
bevor sie selber zur Ruhe ging, und hörte zu ihrem Erstaunen das
unterdrückte Schluchzen aus Ernsts Kammer. Sie trat an sein Bett
und beugte sich erschrocken über ihn, indem sie die Decke wegzog.
Aber er riß sie zurück und rief abwehrend: »Laß mich!« So war es
manchmal, und dann ging sie ihrer Wege und wollte nichts mehr von
dem Brummkopf wissen. Aber heute war sie selber weich gestimmt,
und der Jammer, der die ganze Gestalt des kleinen Kerls schüttelte,
ging ihr zu Herzen. Sie setzte sich auf sein Bett und legte freundlich
den Arm um seine Schultern. »Bist du traurig, Erni, daß wir weg
müssen? Ach, weine doch nicht so, sonst fange ich zuletzt auch
noch an! Du, bedenke doch, wir sollen ja sicher – ganz sicher –
übers Jahr wiederkommen! Das geht schnell hin! Und dann sollst du
sehen, es wird auch in Berlin ganz schön sein! Wir beide wollen
recht zusammenhalten, nicht, du? Max und Moritz sind ja noch so
klein und verstehen nichts davon. Aber wir sind nun beide schon
ziemlich groß und helfen uns durch! Ich wollte dir noch erzählen,
Tante Else hat mir zum Abschied – mir – eine ganze Kiste voll
Sommeräpfel und Birnen geschenkt. Die soll dir mit gehören. Wir
machen uns in der Ecke vom Keller eine kleine Obstkammer, aus
der wir uns täglich nach der Schule unseren Bedarf holen. Natürlich
versorgen wir Mutti und die Kleinen auch, aber die Besitzer sind wir;
fein, nicht? Dann habe ich noch eins gedacht: Du hast doch all die
Nägel, Hammer und Bohrer vom Rademacher gekriegt. Zu Hause
war allerlei, was Mutti gern genagelt und geleimt haben wollte. Ich
glaube, das kannst du jetzt schon ganz schön. Wie wird sie sich
freuen, wenn sie nie mehr den Tischler kommen lassen muß!«
Nach und nach waren die Tränen des kleinen Schwergeprüften
versiegt, und der Gedanke, nicht allein zu sein mit seinem Kummer,
linderte seinen Schmerz. Zum ersten Male legte er seine Arme
zärtlich um den Nacken der Schwester, der ganz warm ums Herz
wurde bei dem ungewohnten Zutrauen.
Als Verbündete gegen den schweren Kampf des Scheidens
gingen beide zur Ruhe und schliefen bald sanft und fest.
10. Kapitel.
Dunkle Wolken.

Am Nachmittag nach dem Abschied der Freunde saßen die


Schönfelder Damen gemütlich, wenn auch viel stiller als die letzten
Wochen, am Kaffeetisch, als der Major mit ernster Miene eintrat.
»Denkt doch, was mir der arme Rantzau eben mitteilte – wir trafen
uns an der Grenze bei den Roggenstoppeln. Oda ist gar nicht wohl,
und gestern haben sie den Arzt geholt, der ganz erschrocken
gewesen ist über den Grad ihres Leidens. Er sah sie im Frühling
zuletzt, und sie alle waren der Meinung, es sei bedeutend besser mit
ihr geworden. Bei ihrem strahlenden Wesen denkt ja kein Mensch an
Krankheit, noch dazu, wenn man ihr rosiges Gesicht sieht. Aber der
Arzt hat den Kopf geschüttelt und gesagt, ihr Geist habe ganz
ungewöhnlich stark die Herrschaft über den schwachen Körper.
Wenn das nicht wäre, sei es undenkbar, daß sie sich so aufrecht
hielte. In acht Tagen will er sie wiedersehen und einen berühmten
Arzt aus Berlin mitbringen, der entscheiden soll, ob sie den Winter
hierbleiben soll oder nicht. Ihr könnt euch denken, wie gedrückt der
arme Rantzau war. Sie sind so arglos und gewöhnt, daß alles
gesund ist. Ich muß ja gestehen, mir bangte schon längst bei Odas
andauerndem Husten und ihrem allzu zarten Gesicht.«
Hannis Herz konnte das Gehörte nicht fassen. Sie waren so
vergnügt miteinander gewesen. Daß die von allen geliebte, fast
verehrte Oda nicht so herumspringen konnte wie die übrigen, hatte
sie nicht im geringsten gestört. Im Gegenteil, es war wunderhübsch,
sie immer in ihrem reizenden Stübchen oder in der Hängematte
unter den Linden anzutreffen. Alles hatte man dann vor ihr
auskramen können, an jedem Erlebnis nahm sie wärmsten Anteil.
So gern brachte man ihr die reifsten Früchte, die schönsten Rosen,
und sie hatte stets so süß gelächelt und leise mit ihrer zarten,
weißen Hand die unordentlichen Zöpfe wieder festgebunden. – Ob
sie nicht einmal hinüber durfte, auch um zu sehen, was Gertrud
machte, die mit innigster Liebe an der einzigen Schwester hing?
Mutter und Tante hatten erst Bedenken, gaben aber endlich ihren
Bitten nach. –
Noch gedrückter, als Hanni mit ihrem kleinen Pony weggefahren,
kam sie nach zwei Stunden wieder zurück. »Mutti, du kannst nicht
glauben, wie verändert Oda aussieht! Es sind doch erst vierzehn
Tage, seit wir dort waren! Sie lag im Bett und ihre Hand war fast so
weiß wie das Kissen. Nur bei Sonnenschein und wenn sie nicht
mehr liegen mag, soll sie ein bißchen aufstehen. Wie wird es bloß
werden? Denk doch, wenn sie fort müßte? Sie, die so sehr an der
Heimat hängt! – Die arme Gertrud ist ganz außer sich, du kannst es
dir ja denken. So lustig sie sonst war, so völlig mutlos ist sie jetzt. Sie
war so verweint und aufgeregt, daß sie gar nicht zu Oda hinein darf,
weil ihre Erregung die natürlich beunruhigen würde. Ich wollte, sie
könnte ihre Angst ein bißchen mehr zurückdrängen, denn Oda mag
so gern jemand still bei sich haben. Tante Rantzau sagte, ich sollte
mich zu ihr setzen und etwas ganz Harmloses erzählen. Und sie
hörte so aufmerksam zu, als ich ihr den Abschied von Max und
Moritz schilderte, die durchaus all die langen Stöcke und ihre großen
Borkenschiffe mithaben wollten und nur zu trösten waren, als sie sie
selber auf den obersten Boden tragen durften und heilig versichert
kriegten, nächstes Jahr lägen sie noch am selben Platz. Sie hat
auch Käte so lieb gewonnen, und ich soll ihr immer die Briefe
vorlesen, wenn Käte schreibt.«

* *
*
Der Berliner Arzt kam, aber die Sorgen der armen Eltern konnte er
nicht zerstreuen. Ein schmerzlicher Tag ging mit Untersuchungen,
Fragen und Beraten hin. Am Abend kam Hanni, um zu erfahren, wie
alles gewesen, fuhr aber gleich wieder heim und machte ihrem
bekümmerten Herzen in einem Briefe an Käte Luft:
»Meine liebe Käte! O, wenn Du uns heute in Buchdorf gesehen
hättest, Du würdest uns kaum wiedererkannt haben, so anders war
alles als vor drei Wochen. Daß Oda nicht wohl war, erlebtest Du ja
noch; jetzt ist sie so elend, daß man auf alles gefaßt sein muß. –
Wirklich! – Ich spreche es eben zum erstenmal aus, – aber es ist
nicht anders.
Professor Howaldt hat heute verlangt, sie solle in den nächsten
Tagen abreisen – nach Davos. O, wie mir dabei wird! Du kennst
doch das traurige Buch: ›Das große, stille Leuchten‹, in dem der
schwere Kampf der armen, dort Leidenden geschildert wird. Und nun
denke Dir, sie haben ihr den Beschluß – natürlich mit aller Schonung
– mitgeteilt. Oda hat die Nachricht ganz heiter aufgenommen und
gesagt, sie hätte es nicht anders erwartet und wollte gern alles tun,
was verlangt würde. Dann ließen sie sie allein, damit sie Mittagsruhe
hielte. Die Ärzte saßen noch auf der Terrasse, um den Abendzug
abzuwarten, da stürzte Line zitternd und weinend heraus, ›sie
glaube, Fräulein Oda stürbe‹!
Als die anderen fort gewesen, hatte sie das Weinen nicht länger
unterdrücken können. Sie hat gesagt, es sei so übermächtig über sie
gekommen, weil sie es den ganzen Sommer gewaltsam
zurückgehalten. Der Gedanke an die Trennung und die Aussicht, so
bald dies schöne Leben verlassen zu müssen, habe sie überwältigt.
Denke bloß, Käte! Da ist sie so sehr in Erregung gekommen – und
als Line ihre Milch um vier Uhr brachte, fand sie sie von Blut
überströmt.
Sie alle haben ihr nun zugesprochen und versucht, sie zu trösten;
aber sie war schon wieder gefaßt. ›Gesund würde sie nicht wieder,
das fühle sie mit unabweisbarer Sicherheit. Aber sie sollten wirklich
nicht mehr trauern; sie wolle von Herzen gern folgen, wenn Gott
riefe; es sei nur der erste Schreck gewesen! Und das stände bei ihr
fest: so unaussprechlich viel Liebes sie auch verlassen müsse, bei
Gott würde es doch noch schöner sein.‹ Der Professor habe allerlei
angeordnet für ihre Pflege, und gesagt, sie müsse sich nun natürlich
erst etwas erholen, bevor sie reisen könne. Er wolle bald noch
einmal kommen, nach ihr zu sehen.
Ja, Käte, wenn wir so vergnügt sangen: ›Ach, die Rosen welken
all‹, haben wir doch nicht geahnt, daß es so schnell ginge! Denk an
uns und grüße Deine Lieben.
Deine traurige Hanni.«
11. Kapitel.
Die Schatten des Todes.

»Schönfelde, den 20. August.


Liebste Käte! Durch Muttis Brief an Deine Mutter hast Du ja
erfahren, daß unsere geliebte Oda nicht mehr weggekommen ist. Ihr
einziger Wunsch wurde erfüllt.
Als die Ärzte wiederkamen, fanden sie die Krankheit so
fortgeschritten, daß sie auf die Frage des Vaters, ob Hoffnung sei
oder nicht, sagen mußten: Nach Menschenermessen sei keine. –
Dann hat er gefragt, ob im Süden auf Erleichterung zu hoffen sei,
worauf beide gemeint, die Mühsal der Reise würde größer sein als
das, was man an Erleichterung hoffen dürfe. Was Menschen
vermöchten, ihre Tage zu verschönen, könne sicher hier am besten
geschehen. Sie glaubten auch nicht, daß ihr noch schwere Leiden
bevorständen. Sie sei bereits so schwach, daß das Leben
verlöschen würde wie ein Licht.
Der arme, arme Onkel! Er hat dem alten, würdigen Professor
gedankt für die große Barmherzigkeit, ihm die volle Wahrheit zu
sagen.
Nun gehen sie alle still und wie unter einer dicken Wolke umher.
Nur bei Oda strahlt heller Sonnenschein – vom Jenseits – und sie
alle haben soviel Liebe, den nicht durch Wehklagen zu stören. Am
schwersten fällt das der armen Gertrud, die ganz das Gleichgewicht
verloren hat. Manchen Tag darf sie nicht zu Oda hinein, weil sie sich
nicht fassen kann. Ich bin so dankbar, daß sie mich immer zu ihr
lassen – jeden zweiten Tag. Und Gott hilft mir auch, immer munter
zu sein, so schwer es oft ist. Ade, Käte. Deine Hanni.«

»Schönfelde, den 15. September.


Liebe Käte! Wenn in Geschichten so romantisch erzählt wird von
›süßem Hinüberschlummern‹, so ist, glaube ich, doch etwas
unterschlagen! Das Sterben ist doch viel, viel ernster, als ich es mir
gedacht habe, – ja, auch neulich noch gedacht, als Professor
Howaldt sich so offen ausgesprochen.
Selbst wenn es schnell vorangeht, sind die Tage und Nächte lang!
Beinahe glaube ich, daß ich es am allermeisten fühle, weil Oda sich
so offen gegen mich ausspricht, wie sie es auch gegen ihre Mutter
nicht tut, um ihrem Schmerz nicht immer neue Nahrung zu geben.
Ich dachte, sie, von der wir alle nichts als Liebes erfahren, könnte
so ganz ruhig auf all ihre Tage zurücksehen. Aber auch dies ist nicht
der Fall. Sie macht sich schwere Gedanken, daß sie nicht mehr mit
Gertrud zusammen gewesen, sie nicht mehr lieb gehabt habe. Von
jeher hätte sie so schrecklich gern allein in ihrem Stübchen
gesessen und gelesen. Die kleine Schwester habe oft gefleht, sie
möge mit ihr spielen. Aber sie hätte ihre Ruhe mehr geliebt. Nun
sähe sie deutlich, daß aus Gertrud viel mehr hätte werden können,
wenn sie, wie ihre Großmutter sagte, ›fleißig gespielt‹ hätte.
Aber allein sei das der Kleinen langweilig gewesen. So habe sie
sich ein bißchen herumgetrieben, – ein bißchen mit den Mädchen
dummes Zeug geschwatzt, – ein bißchen genascht.
Und jetzt in den langen Nächten, wo sie nicht schlafen könne,
sähe die arme Oda immer klar vor Augen, wie über die Maßen
wichtig die anfängliche Gewöhnung sei, und müßte sich anklagen;
wenn manches bei Gertrud, ihrer geliebten, einzigen Schwester, eine
verkehrte Richtung nähme, so hätte sie das ändern können – und
habe es nicht getan. – Wenn sie in solchen ganz dunklen Stunden
nicht wüßte, daß Gott ihr vergeben und alles gut machen könne, so
müsse sie verzweifeln. Denke doch, Oda, die für uns alle ist wie eine
Heilige! Was sollen wir einmal machen, wenn unsere Stunde
kommt? Deine Hanni.«

»Berlin, den 18. September.


Meine alte Hanni! Kannst Du Dir vorstellen, daß ich eine
schlaflose Nacht zubringen könnte? Ich, das Murmeltier? Ich habe
es getan und werde nicht ruhig, bevor ich Dir eine Beichte abgelegt.
Was Du mir von Oda schriebst, traf mich wie ein Donnerschlag. Bald
fünfzehn Jahre habe ich unnützes Geschöpf die Erde verunziert und
noch nichts als Verkehrtes gestiftet! Sag es selbst!
Daß es in der Schule mit den Leistungen glatt geht, ist nicht meine
Schuld. Wenn ich die Arbeiten schreibe, werden sie richtig. – Aber
wie manchen Krach hat es schon mit den Lehrerinnen gegeben
wegen des Betragens!
Und nun zu Hause! Wieviel Not habe ich meiner allerbesten Mutti
gemacht! – Und dann erst Ernst! Ich mag gar nicht daran denken!
Seit dem Abschied von Euch, wo ich einmal sah, wie dem kleinen
Kerl das Herz weh tun kann, haben wir uns vertragen und manchen
guten Tag zusammen gehabt. Aber das Frühere kann ich nicht
ungeschehen machen. Ich glaube jetzt wirklich, Erni könnte ein
anderes Kind sein, wenn ich zu ihm gehalten hätte, statt so oft hart
gegen ihn zu sein.
Nun bitte ich Dich, Oda zu sagen, ich verspräche ihr heilig und
teuer – und Du weißt, dann halte ich es –, ein neues Leben
anzufangen mit Mutti und mit den Jungen! Ich will es mir zu Herzen
nehmen, was Deine süße Mutti mir beim Abschied sagte: ›Wenn wir
uns nicht lieb haben – das heißt bei Kindern: sich vertragen –, dann
sind wir eben nicht Gottes Kinder und können nicht als solche
gelten.‹
Sage Oda, sie hätte mir zur Umkehr verholfen, vielleicht wird es
sie freuen. Deine alte böse Käte.«

»Schönfelde, den 2. September.


Liebste Käte! Ach, wie ist das Leben ernst! Mir ist, als wäre ich in
wenigen Wochen um viele Jahre gealtert.
Heute morgen schickten Rantzaus, ob ich kommen dürfe, Oda sei
so unruhig und möchte mich sehen. Ich fand sie, die weiße Stirn mit
Schweiß bedeckt, unruhig im Bett hin und her rückend, die Hände
brennend heiß. ›O Herzchen, da bist du – die Nacht war zu lang!‹
Ich bat sie, nicht viel zu sprechen, ich wolle ihr was erzählen.
›Nein, du, ich ließ dich rufen, weil mir ein Stein auf der Seele liegt!
Komm dicht heran – ich spreche ganz leise. Sieh, als meine
Gedanken mir gar keine Ruhe mehr ließen, habe ich mich zuletzt
damit zu trösten versucht, ich wollte dich bitten, das zu tun, was ich
versäumt habe. Vielleicht kann ich’s dann leichter tragen – ebenso
wie mich neulich Kätes Brief erleichtert hat. – – Sieh,‹ fuhr sie fort,
›die ganze Nacht stand mir das Bild von dem Knecht mit dem
vergrabenen Pfund vor der Seele. Ich hörte immer das Wort: O du
Schalksknecht! – Doch,‹ wehrte sie ab, als ich Einwände machen
wollte, ›genau so bin ich! – Vor drei Jahren, als ich konfirmiert wurde,
war es mir ein Herzensanliegen, nun auch was Ordentliches für
Gottes Reich zu tun, und ich sprach darüber mit Herrn Pastor. Er riet
mir, mich der Dorfkinder anzunehmen, ihnen durch
Handarbeitsstunden und Sonntagsschule nahezukommen.
Ich fing es an. – Sie kamen – du kennst sie ja – blank gescheuert,
verschüchtert, wie kleine Pagoden! – Ich zeigte ihnen dies und das
und ließ sie einiges lernen und aufsagen. – Sie genierten sich
namenlos vor mir – ich mich vor ihnen. Es war eine erzwungene
Geschichte! Ich war froh, als der Sommer kam und Vater meinte,
nun hätten sie kaum Zeit für dergleichen. – Den zweiten Winter
betrieb ich die Sache noch lauer.‹ Ich versuchte einzuwenden, daß
die ganze Art dieser Kinder so anders sei als die unsere, daß man
schwer den Schlüssel fände! ›Aber wir sollen ihn finden,‹ meinte sie,
›und wir können es. Jetzt in den dunklen Nächten ist es mir
aufgegangen: wir haben soviel Verständnis, wie wir Liebe haben.
Denk mal hin, wo du liebst, erschließt sich dir jede Falte im Herzen
des anderen. – Je tiefer die Liebe, desto größer das Mitfühlen,
Mitdenken. Gott ist die Liebe; er ist allwissend! – Nun hatte ich
gestern gelesen, man habe festgestellt, daß die meisten von allen,
die Gott gefunden haben, in früher Jugend zu ihm gekommen wären
– ganz wenige im Alter. Das rüttelte mich so auf! Ich stellte mir vor,
daß ich schon in diesen Jahren manche von den kleinen Herzen
hätte zu Gott führen können, die nun vielleicht den Weg nie finden,
wenn ich nicht der schrecklichen, verkehrten Scheu und
Verlegenheit Raum gegeben hätte, die mich an so vielem gehindert
hat.
Für mich ist es jetzt zu spät. Und ich weiß, mein Heiland vergibt
mir auch das noch zu allem anderen. Aber ich würde ruhiger
sterben, wenn ich denken könnte, du nähmest diese Arbeit mit
deinen frischen Kräften auf und brächtest sie nach und nach auch
Gertrud nahe. Du weißt, von sich aus würde sie niemals dazu
kommen.‹
Wir besprachen den Plan noch hin und her, und Oda wurde
ordentlich belebt. Du kannst Dir denken, wie gern ich mir diese
Arbeit vornahm, die ich mir im stillen schon lange gewünscht. Ich
hatte nur gemeint, vor meiner Konfirmation könne ich nicht an
dergleichen denken. Aber Oda, die einen erstaunlich praktischen
Blick verriet, sagte, gerade schon jetzt möge ich anfangen, da, je
älter und größer ich wäre, desto unüberwindlicher auch der Respekt
und die Scheu der Kinder vor mir sein würde. Sie meinte, es solle
erst mal für die kleineren Mädchen eingerichtet werden: eine Art
Spielschule an zwei Nachmittagen. Gegen Weihnachten solle ich
auch die größeren dazunehmen und mit ihnen nützliche Arbeiten
anfangen, die sie für ihre Mütter zu Weihnachten machten. Das
würde sie freuen.
So solle ich sie nach und nach erst mal kennen lernen und an
mich gewöhnen, und wenn das gelungen, könne es gar nicht anders
sein, als daß ich ihnen das nahe brächte, was das Leben meines
Lebens ausmache.
Mir scheint, sie hatte in allem recht; und sie ist doch noch nicht
achtzehn Jahre alt. Ich glaube, das ewige Licht, das ihr jetzt das
Leben erhellt, läßt auf einmal alle Dinge in ganz anderen Farben
erscheinen, als sie bisher gehabt. Als ich wegging, war Tante
Rantzau beglückt, wieviel froher und wohler Oda aussähe! Ach,
könnte man ihr doch mehr sein! Immer Deine Hanni.«
12. Kapitel.
Weil ich Jesu Schäflein bin.

»Schönfelde, den 1. Oktober.


Liebste Käte! War das heute ein Sonntag! Zu schön! Nach
mehreren Nebeltagen himmlischer Sonnenschein; so warm wie
mitten im Sommer.
Als ich zu Oda kam, lag sie strahlenden Gesichts auf der
Chaiselongue unter den Linden. Sie sah ganz rosig aus und lachte
über die Sprünge der kleinen Teckel. Wir haben bei ihr gesessen,
und sie hat sich unbeschreiblich gefreut über die prachtvolle,
herbstliche Färbung, die frische Luft, die sie solange entbehrt und
das Zusammensein mit uns allen. Als wir beide einmal allein waren,
zog sie ein Päckchen unter ihrer Decke hervor und sagte: ›Da, nimm
das heute; einen so schönen Tag kriegen wir so leicht nicht wieder.
Sieh doch, die Blätter rieseln nieder wie ein goldener Regen.‹ Ich
durfte das kleine Paket nicht aufmachen; ›erst beim Schlafengehen‹,
bat sie.
Als ich weg mußte, küßte sie mich und sagte mit einem
strahlenden Lächeln, was ich noch immer sehe: ›Auf Wiedersehen!‹
Montag. Soweit kam ich gestern. Als ich zu Bett ging, um
einhalbzehn Uhr, wickelte ich das Päckchen aus und fand,
tiefgerührt, das schöne, weiße Marmorkreuz, das immer auf Odas
Schreibtisch stand. In den Sockel aber war mit goldenen Buchstaben
eingraviert:
›Sollt ich denn nicht glücklich sein,
Ich beglücktes Schäfelein?
Denn nach diesen schönen Tagen
Werd ich endlich heimgetragen
In des Vaters Arm und Schoß.
Amen! Ja, mein Glück ist groß.
Auf ewig deine Oda.‹

Heute früh schickten Rantzaus die Nachricht: ›Unsere Oda ist


gestern abend um einhalbzehn Uhr ohne jeden Kampf selig
entschlafen.‹ Dann baten sie, ob ich im Laufe des Tages hinkommen
möchte, bei Gertrud zu bleiben, bis alles vorüber.
Ich will jetzt meine Sachen zusammenholen. Hinrich spannt schon
an. – Denk an uns. Deine Hanni.«

»Schönfelde, den 8. Oktober.


Liebe Käte! Das war eine lange Woche, aber Gott hat
durchgeholfen. Du kannst Dir schwer vorstellen, wie traurig es oft
war, und trotzdem groß und schön!
Als ich Montag in Buchdorf ankam, fand ich Gertrud fassungslos
auf ihrem Sofa. Sie hatte den Kopf in die Kissen gedrückt und wollte
nichts sehen und hören. Erst saß ich lange still bei ihr, und als es
anfing zu dämmern, bat ich sie, mit in den Garten zu kommen, damit
ihr Kopf etwas freier würde in der frischen Luft. Wir sind bis zum Tee
zwischen den Tannen auf und nieder gegangen, und dann gelang
es, sie mit ins Eßzimmer zu bringen, damit die armen Eltern nicht
auch sie entbehrten.
Am anderen Morgen schliefen wir bis in den hellen Tag. Unsere
Köpfe waren noch ganz dumpf von all den Tränen. Zuerst konnten
wir uns lange nicht besinnen, bis auf einmal die ganze, traurige
Wahrheit wieder vor unserer Seele stand.
Nach dem Frühstück bat ich Gertrud, mit in den Garten zu
kommen, und wir haben alles, was noch von Blumen da war, für Oda
hereingeholt. Ganze Berge von Blüten und Zweigen brachten wir in
den Gartensaal, wo wir dann einen schönen Kranz nach dem
anderen gebunden haben. Gertrud wurde ganz eifrig dabei.
Aber nun höre, was ich am Abend erlebte! Ich trug zwei große
Leuchter, die ich in den Saal bringen wollte, wo Oda lag. Da sie mir
zu schwer wurden, bat ich die kleine Line, das zweite
Stubenmädchen, den einen zu nehmen!
›Da rein?‹ rief sie mit einem Schreckensaufschrei und wies ganz
entsetzt auf die Saaltür, ›nie im Leben!‹
›Warum denn nicht?‹ Ich verstand sie überhaupt nicht. Aber sie
rannte weg wie gehetzt.
Ich wollte doch wissen, was sie eigentlich meinte und erwartete
sie, als sie in unserem Schlafzimmer die Bettdecken abnehmen
mußte. Scheu wollte sie an mir vorbei, aber daraus wurde nichts! Sie
mußte sich sehr gegen ihren Willen zu mir hinsetzen, und ganz
allmählich erfuhr ich ihre Geschichte.
Sie hat ihre Eltern nie gekannt und ist bei einer sehr barschen
Großmutter aufgewachsen, die ihr wenig gute Worte gegeben hat
und immer schwarze Kleider und Kopftücher trug, – ›auch im Bett‹,
behauptete sie. – Das ist ja aber unmöglich.
Als sie etwa dreizehn Jahre gewesen, sei die Alte krank geworden
und unter schrecklichem Ächzen und Stöhnen gestorben. Sie hätte
gar nicht hinsehen können, so sehr hätte sie sich gegraut vor dem
starren Gesicht in den schwarzen Tüchern!
Ich war ganz entsetzt und fragte, ob sie ihr denn nicht
beigestanden hätte, sie gestreichelt und lieb gehabt? Aber sie
schüttelte sich und sagte: nein, sie sei weggelaufen!
Dann nachher, als Tante Rantzau sie aus Mitleid hierher
genommen, habe sie oft solche Schaudergeschichten von den
anderen Mädchen gehört, mit denen sie im Zimmer schlief – kurz,
sie könne niemals einen Toten sehen und nie mit einem unter
demselben Dach schlafen!
Kannst Du Dir so etwas vorstellen? Gestern abend sei sie auf den
Heuboden gekrochen, aber schlafen habe sie auch dort nicht
können. Und nun habe sie schreckliche Angst! – Man sah es ihr an.
Ich wußte erst gar nicht, was ich sagen sollte. Nur mit größter
Mühe konnte ich sie beruhigen. Ich versicherte, sie stelle sich alles
falsch vor: Nichts sei schwarz im ganzen Saal. Oda sähe süßer aus
als alle diese Wochen. Es sei kein schwarzer Kasten da, sondern
nur weiße, zarte Decken und viele, viele Blumen. Ja, es sähe aus,
als schliefe sie sanft in dem wunderschönsten Garten. Dann erzählte
ich ihr von Odas großer Freude, zu Gott zu kommen; schilderte ihr,
wie schön sie es doch hier gehabt, wo ihr jeder Wunsch erfüllt sei –
und trotzdem sei sie völlig sicher gewesen, es dort noch viel besser
zu haben! Das Mädchen konnte es gar nicht glauben. Dann zeigte
ich ihr das Kreuz und die goldenen Verse, die sie mit größtem
Interesse las. Mir fällt immer auf, was für eine überzeugende Macht
Gedrucktes auf sie ausübt. – ›Ist das wirklich möglich?‹ fragte sie
schwankend, ›ich habe mich immerzu und zuviel gegraut vor dem
Sterben!‹
Denk mal, zu allerletzt kriegte ich das arme Ding so weit, daß sie
einmal durch die Ritze in den Saal sehen wollte. Mit einem Gemisch
von Neugier und Furcht stand sie lange da. Es sah wunderbar
feierlich aus; die hohen Leuchter mit den vielen Kerzen zu beiden
Seiten, die prachtvollen Myrten- und Lorbeerbäume, die wie ein
Wald an den Wänden entlang standen und inmitten von allem Odas
süßes, fast wieder rosiges Gesicht, von den schönen goldigen
Haaren umrahmt, die lang niederfielen auf die durchsichtigen,
weißen Spitzen. Mit gefalteten Händen und weit aufgerissenen
runden Augen schlich Line immer näher und war ganz gebannt von
dem, was sie sah.
Als wir endlich wieder draußen waren, flüsterte sie: ›Das war keine
Tote, das sah aus wie ein Engel!‹ Ich sagte ihr: ›So wird sie nun für
immer mit den Engeln bei Gott sein, Line. Und wir sollen auch
hinkommen! Sie hat mir noch jedesmal die letzten Tage aufgetragen,
euch allen das recht dringend zu sagen, damit ihr daran denkt. Aber
dann muß man sich nicht vor Gott verkriechen auf den Heuboden,
sondern in seinem hellen Schein leben und abends still in sein Bett
gehen, die Hände falten und in dem Gedanken einschlafen: In des
Vaters Arm und Schoß – Amen, ja mein Glück ist groß.‹ Ob sie das
beten könne? ›Sie habe es gelernt!‹
Ich merkte deutlich, das arme Ding hatte gelernt, so etwas
aufzusagen – vom Beten ahnte ihre Seele nichts. Ich will versuchen,
unsere kleinen Gören beten zu lehren!
Jedenfalls hat Line mir versprochen, zu tun, wie ich ihr gesagt,
und sie sah die anderen Tage viel klarer aus den Augen! – Aber
schnell gute Nacht. Deine Hanni.«

»Schönfelde, den 2. November.


Liebste Käte, Du kannst wohl verstehen, daß ich keine Zeit zum
Schreiben fand, solange Gertrud hier war.
Mutter schrieb Euch ja, daß die Kinder diese Wochen zu uns
kamen, bis in Buchdorf alles desinfiziert und geordnet war. Tante Ida,
die immer gern das übernimmt, was für die anderen zu schwer ist,
war solange dort und hat nicht nachgegeben, bis die übermüdete
Tante Rantzau ein paar Wochen mit Onkel in den Harz reiste, wo sie
sich schön erholt hat.
Gertrud sollte nicht gern ohne die Eltern in dem traurigen Hause
bleiben; darum ist sie mit der Erzieherin und den kleinen Jungen zu
uns gekommen. Richtige Schule gab es nicht, aber Fräulein Arnholdt
hat eine reizende, frische Art, alle zu beschäftigen. Wir durften
morgens selber einen Plan machen, lauter Stunden, die wir gern
hatten. Manchmal war auch eine von uns Lehrerin. Am Nachmittag
wurden meist Wanderungen gemacht. War das Wetter zu schlecht,
so lud Mutti uns alle vor den Kamin; wir verbrannten Tannenzapfen,
die die kleinen Jungen gesucht und machten Bratäpfel.
Abends ging’s früh zur Ruhe. Wir alle waren noch müde von den
Tagen vorher.
Du, es ist mir geglückt, die kleine Line mit herzukriegen für die
Zeit. Ich bat sehr darum und sagte, sie könne sich ja nützlich
machen in den Zimmern der Rantzaus-Kinder. – Wäre sie diese
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookname.com

You might also like