Outline for Java EE, Part 6 of 8: AJAX with DWR, DOJO, and Security

Total Page:16

File Type:pdf, Size:1020Kb

Outline for Java EE, Part 6 of 8: AJAX with DWR, DOJO, and Security Java EE, Part 6 of 8: AJAX with DWR, DOJO, and Security page 1 Meet the expert: Ali Hamad has a Bachelor and Masters degree in Computer Science and has been training many aspects of Java for over 14 years, covering Introduction through JDBC, JBoss and beyond. His training and consulting background also covers C, C , Object Oriented Analysis and Design (OOAD), and Unix/Linux. Ali has worked for or been a consultant and trainer for many companies including Dell, Texas Instruments, State of New Hampshire, Web Age Solutions, and many more. He is the author of training material for several programming topics such as Java, Struts, C , Unix and J2EE applications. Runtime: 10:13:19 Course description: This course is a continuation of the Java EE Programming: AJAX Fundamentals course and will get into greater detail about AJAX and cover Direct Web Remoting (DWR). It will cover what a time saver the DOJO framework can be and how to use DOJO toolkit. The course will then move onto Advanced JavaScript. Security is an important part of any development and this course covers AJAX security and security guidelines. The final chapters of this course will cover JavaScript Performance Tuning and Mashups for Java servers. Course outline: Direct Web Remoting • Common Features of Widgets • Demo: DOJO Event System • Inheritance Using Prototype • Introduction • Form Input Widgets • Summary • Example: Inheritance • Introduction • The Button Widget • Extending Inherited Behavior • How DWR Works • The Checkbox Widget DOJO Logging • Demo: Prototypes • Diagram: How DWR Works • The ComboBox Widget • Introduction • Summary • DWR: The Server Side • The FilteringSelect Widget • Logging in Dojo • Configuring the Server Side • The DateTextBox Widget • Using Debug Constructors and Arrays • The dwr.xml File • Layout Widgets • Log Severities • Introduction • DWR: The Client Side • Other Common GUI Widgets • Mozilla Debugging Tools • Enhancing Constructors • Unit Testing • Creating Widget Instances • IE Debugging Tools • Constructor Performance • Accessing Servlet API Objects • Create Widgets • Other Tools • Event Handling Problem • Error Handling Programmatically • Demo: DOJO Logging • Array • Demo: Direct Web Remoting • Demo: Widget Events • Summary • Traversing an Array • Summary • Summary • Appending to an Array Object Orientation • Deleting Elements DOJO DOJO Event System • Introduction • Inserting Elements • Introduction • Introduction • Basic Objects • Other Array Methods • Introduction • Introduction • Constructor Function Object • Demo: Constructors and Arrays • Installation • Difference from DOM Event • Example: Constructor Function • Summary • Dojo Capabilities • JavaScript Function Call Event • Constructor Function Object • Example - Tab Widget • Writing a JavaScript Class • Object Properties AJAX Security • How Does DOJO Work • Example: JavaScript Class • Object Properties: Looping • Introduction • Importing Packages • Writing an Event Handler Class • Constructor & Instance Objects • The Same Origin Policy • Widget Basics • Attaching the Event Handler • Constructor Level Properties • SOP Example • Widget Layout Example • Handling the Widget Event • Namespace • Exemption from SOP • The Two byId() Methods • More on Handler Attachment • Example: Namespace • Bypassing SOP • Widget Properties • The Dojo Event Object • Demo: Object Orientation • Using Dynamic Script Tag • Demo: Dojo • Window Load/Unload Event • Summary • Example: Main Page • Summary • Publish Subscribe System • Example: The Included Script • Writing a Publisher Prototypes • Demo: Example Site Setup DOJO Widget Events • Writing a Subscriber • Introduction • Summary • Introduction • Publishing the Message • Prototype • Widget Events • Example: Prototype AJAX Common Attacks • Prototype Property Hierarchy • Introduction • Prototype Chain • Example: The Included Script (Continued on page 2) LearnNowOnline www.LearnNowOnline.com powered by Java EE, Part 6 of 8: AJAX with DWR, DOJO, and Security page 2 • Code in Dynamic Script • Useful Tools Element • Demo: CSRF • Using an Ajax Proxy • Summary • Common Attacks for Ajax • Cross Site Scripting (XSS) AJAX Mashups • XSS Example • Introduction • Preventing XSS • Example: ChicagoCrime.org • Demo: Ajax Security • Mashup Flavors • Summary • Key Components • Key Component Details Java Script Worms • The Client • Introduction • Retrieving Data • JavaScript Worms • Data Assembly Details • Cross-site Request Forgery • Data Format Options • Preventing CSRF • Enterprise 2.0 Mashups • JavaScript or JSON Hijacking • Demo: AJAX Mashups • Example: JSON Hijacking • Summary • Exploiting JSON Hijacking • Preventing JSON Hijacking • Denial of Service (DoS) Attack • XML Bomb Attack • Example: XML Bomb Attack • Ajax Proxy Vulnerability • Demo: Java Script Worms • Summary AJAX Security Guidelines • Introduction • Obfuscate JavaScript Code • Privileged Functions • Do Not Expose Database Schema • Validate Input on Server Side • Password Protect Operations • Careful of State Information • Use White List in Ajax Proxy • Do Not Use Distrusted Content • Use eval() Carefully • Demo: AJAX Security Guidelines • Summary AJAX Performance Tuning • Introduction • Why Tune JavaScript Performance • What to Tune • Optimize Asset Download • Optimize Content Rendering • Example: Content Rendering • Optimize Code - JavaScript • Scope Example • Optimize Code - Prototype • Optimize Code - Avoid eval() • String Concatenation • Optimize Code - Event Handling • Ajax Tuning - Immediate Update • Ajax Tuning - Multiplexing • Ajax Tuning - Use Push LearnNowOnline www.LearnNowOnline.com powered by.
Recommended publications
  • Collection Titles
    Direct e-Learning Solutions for Today’s Careers CBT Direct’s IT Pro Collection Available: 7476 Collection Titles Coming Soon: 557 .NET 2.0 for Delphi Programmers Architecture Tivoli OMEGAMON XE for DB2 Performance .NET 3.5 CD Audio Player: Create a CD Audio 3D Computer Graphics: A Mathematical Expert on z/OS Player in .NET 3.5 Using WPF and DirectSound Introduction with OpenGL A Field Guide to Digital Color .NET Development for Java Programmers "3D for the Web: Interactive 3D animation using A First Look at Solution Installation for .NET Development Security Solutions 3ds max; Flash and Director " Autonomic Computing .NET Domain-Driven Design with C#: Problem - 3D Game Programming All in One A Guide to Global E-Commerce: Issues to Design - Solution 3D Graphics ReferencePoint Suite Consider When Selling Internationally Over the .NET E-Commerce Programming 3D Modeling in AutoCAD: Creating and Using Internet .NET Enterprise Development in C#: From 3D Models in AutoCAD 2000; 2000i; 2002; A Guide to MATLAB Object-Oriented Design to Deployment Second Edition Programming .NET Enterprise Development in VB.NET: From 3D Programming for Windows: Three- A Guide to Software Configuration Design to Deployment Dimensional Graphics Programming for the Management .NET for Visual FoxPro Developers Windows Presentation Foundation A Guide to Software Package Evaluation and .NET Framework ReferencePoint Suite 3ds max 5 Bible Selection .NET Framework Solutions: In Search of the 3ds max 5 For Dummies A Guide to the Project Management Body of Lost Win32 API
    [Show full text]
  • Introduction to Ajax
    IInnttrroodduuccttiioonn ttoo AAjjaaxx SSaanngg SShhiinn JJaavvaa TTeecchhnonollogogyy AArrcchhiitteecctt SSunun MMiiccrroossyysstteemmss,, IIncnc.. ssaanng.g.sshhiinn@@ssuunn..ccoomm wwwwww..jjaavvaapapassssiioonn..ccoomm Agenda 1.What is Rich User Experience? 2.Rich Internet Application (RIA) Technologies 3.AJAX: Real-life examples & Usage cases 4.What is and Why AJAX? 5.Technologies used in AJAX 6.Anatomy of AJAX operation 7.XMLHttpRequest Methods & Properties 8.DOM APIs & InnerHTML 9.AJAX Security 10.JavaScript debugging tools 2 Topics Covered in Other Presentations • AJAX Toolkits & Frameworks • JSON (JavaScript Object Notation) • Dojo Toolkit • DWR (Direct Web Remoting) • AJAX-enabled JSF Components • Google Web Toolkit (GWT) • jMaki • Phobos (MVC-based server-side scripting) • Ajax and Portlet/Portal • Wicket and Shale (as AJAX-aware Web applicaion frameworks) • JavaScript Programming Best Practices 3 11.. RRiicchh UUsseerr EExxppeerriieennccee ffoorr WWeebb AApppplliiccaattiioonn Rich User Experience • Take a look at a typical desktop application (Spreadsheet app, etc.) • The program responses intuitively and quickly • The program gives a user meaningful feedback's instantly > A cell in a spreadsheet changes color when you hover your mouse over it > Icons light up as mouse hovers them • Things happen naturally > No need to click a button or a link to trigger an event 5 Characteristics of Conventional Web Applications (Apps without Ajax) • “Click, wait, and refresh” user interaction > Any communication with the server forces a
    [Show full text]
  • PERFORMANCE TESTING of DATA DELIVERY TECHNIQUES for AJAX APPLICATIONS 1 Introduction Recently, There Has Been a Shift in The
    Journal of Web Engineering, Vol. 8, No. 4 (2009) 287–315 c Rinton Press PERFORMANCE TESTING OF DATA DELIVERY TECHNIQUES FOR AJAX APPLICATIONS ENGIN BOZDAG ALI MESHAH Software Engineering Research Group, Delft University of Technology Mekelweg 4, 2628CD Delft, The Netherlands [email protected] [email protected] ARIE van DEURSEN Software Engineering Research Group, Delft University of Technology & CWI Mekelweg 4, 2628CD Delft, The Netherlands [email protected] Received February 15, 2008 Revised September 6, 2009 AJAX applications are designed to have high user interactivity and low user-perceived latency. Real- time dynamic web data such as news headlines, stock tickers, and auction updates need to be propa- gated to the users as soon as possible. However, AJAX still suffers from the limitations of the Web’s request/response architecture which prevents servers from pushing real-time dynamic web data. Such applications usually use a pull style to obtain the latest updates, where the client actively requests the changes based on a predefined interval. It is possible to overcome this limitation by adopting a push style of interaction where the server broadcasts data when a change occurs on the server side. Both these options have their own trade-offs. This paper first introduces the characteristics of both pull and push approaches. It then presents the design and implementation of our distributed test framework, called CHIRON, where different AJAX applications based on each approach can be automatically tested on. Finally, we present and discuss the results of our empirical study comparing different web-based data delivery approaches. Keywords: Performance testing, Ajax, Web data delivery, Comet, Push/pull, Empirical study 1 Introduction Recently, there has been a shift in the direction of web development.
    [Show full text]
  • Ext JS in Action, Second Edition
    Covers EXT JS version 4.0 IN ACTION SECOND EDITION Jesus Garcia Grgur Grisogono Jacob K. Andresen MANNING Ext JS in Action, Second Edition Licensed to <[email protected]> Licensed to <[email protected]> Ext JS in Action, Second Edition JESUS GARCIA GRGUR GRISOGONO JACOB K. ANDRESEN MANNING SHELTER ISLAND Licensed to <[email protected]> For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact Special Sales Department Manning Publications Co. 20 Baldwin Road PO Box 261 Shelter Island, NY 11964 Email: [email protected] ©2014 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15 percent recycled and processed without the use of elemental chlorine. Manning Publications Co.
    [Show full text]
  • Ajax Frameworks
    Extracted from: Pragmatic Ajax A Web 2.0 Primer This PDF file contains pages extracted from Pragmatic Ajax, published by the Pragmatic Bookshelf. For more information or to purchase a paperback or PDF copy, please visit http://www.pragmaticprogrammer.com. Note: This extract contains some colored text (particularly in code listing). This is available only in online versions of the books. The printed versions are black and white. Pagination might vary between the online and printer versions; the content is otherwise identical. Copyright © 2005 The Pragmatic Programmers, LLC. All rights reserved. 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, or otherwise, without the prior consent of the publisher. Chapter 5 Ajax Frameworks Until now, we’ve looked at Ajax either at an abstract architectural level or from down in the tunnels underneath the structure. The DOM API and JavaScript’s sometimes tortured interactions with it form the basis of all other Ajaxian techniques. Though it is vital to understand these things for when you run into trouble, it is also likely that you’ve been left scratching your head from time to time. Maybe you wondered who decided to use magic numbers for all the readyState( ) values. Or why the industry-standard way to create an XHR instance is in a try/catch block that will encounter an exception ~70% of the time. In fact, if you are anything like us, it probably occurred to you that you could write a fairly simple wrapper around this stuff to make it more usable in production code.
    [Show full text]
  • Pro Ajax Java
    CYAN YELLOW MAGENTA BLACK PANTONE 123 CV EMPOWERING JAVA DEVELOPERS WITH AJAX TECHNIQUES THE EXPERT’S VOICE® IN WEB DEVELOPMENT Companion eBook Available Pro Ajax and Java Pro Ajax Dear Reader, If you are a professional Java developer and you want to know how best to go about adding Ajax functionality to your web applications to enrich your users’ experience, then Pro Ajax and Java is the right book for you. Ajax allows us to Nathaniel T. Schutta, build highly interactive, desktop-like web applications that can be deployed coauthor of through any modern web browser without the need for special plug-ins. Though Foundations of Ajax Ajax is server-side agnostic, it certainly plays well within the rich Java ecosystem. This book teaches you what you need to know by using tightly focused exam- ples that aren’t cluttered with extraneous details, putting you on the fast track to using Ajax in your own Java applications. You already know how to develop web applications, so this book focuses on teaching the killer techniques you’ll need to bring your applications to life with Ajax, including autocomplete, form vali- dation, dynamic visual effects, and much, much more. We start off by providing a brief summary of the subject area, followed by a and Pro Ajax guide to creating the perfect development environment for developing Ajax in Java, including code editing and formatting, DOM inspection, debugging, Ryan Asleson, coauthor of testing, and logging tools. Foundations of Ajax Next, we look in depth at the most popular Ajax libraries and toolkits avail- able, and what they can do to simplify and speed up our Ajax development— Java Prototype, script.aculo.us, Dojo, DWR, AjaxTags, and Taconite.
    [Show full text]
  • Ajax for Java Developers
    If Evaluation 303-302-5280or you have are been being Ajax For sold taught Java on Developers the Eclipse/Tomcat Platform or email this out workbook, [email protected] LearningPatterns, Inc. Courseware this Copy workbook, please Student Guide call If Evaluation 303-302-5280or you have are been being . sold USA taught or email this out workbook, [email protected] this Copy license, customization and/or purchase. 12.487.9064 voice and fax -12 LearningPatterns Inc. 2 workbook, please This material is copyrighted by LearningPatterns Inc. This content and shall not be reproduced, edited, or distributed, in hard copy or soft copy format, without express written consent of LearningPatterns call Inc. Copyright © 2004 For more information about Java or Enterprise., in the Java, United and States related and courseware,other countries. please LearningPatterns contact us. and its logos are Our courses are available globally for LearningPatterns. Inc. Global Java Courseware Services 262 Main St. #12 | Beacon, NY 12508 Java, Enterprise JavaBeans and all Java-based trademarks and logo trademarks are registered trademarks of Sun Microsystems, Inc trademarks of LearningPatterns Inc. All other products referenced herein are trademarks of their respective holders ™ Table of Contents - Ajax for Java Developers AJAX FOR JAVA DEVELOPERS ............................................................................................................ 1 WORKSHOP OVERVIEW ..............................................................................................................................
    [Show full text]
  • Pragmatic Ajax a Web 2.0 Primer
    Pragmatic Ajax A Web 2.0 Primer Justin Gehtland Ben Galbraith Dion Almaer The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas P r a g m a t i c B o o k s h e l f Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC. Every precaution was taken in the preparation of this book. However, the publisher assumes no responsibility for errors or omissions, or for damages that may result from the use of information (including program listings) contained herein. Our Pragmatic courses, workshops, and other products can help you and your team create better software and have more fun. For more information, as well as the latest Pragmatic titles, please visit us at http://www.pragmaticprogrammer.com Copyright © 2006 The Pragmatic Programmers LLC. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmit- ted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the publisher. Printed in the United States of America. ISBN 0-9766940-8-5 Printed on acid-free paper with 85% recycled, 30% post-consumer content. First printing, March 2006 Version: 2006-4-27 Contents Acknowledgments vii 1 Building Rich Internet Applications with Ajax 1 1.1 A Tale in Three Acts ....................
    [Show full text]
  • Refactoring of a GUI Prototype Using AJAX Improve the Performance of a GUI Prototype by Introducing an AJAX Framework
    Refactoring of a GUI prototype using AJAX Improve the performance of a GUI prototype by introducing an AJAX framework. Master of Science Thesis EMANUELLA WALLIN Department of Computer Science and Engineering CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG Göteborg, Sweden, May 2009 The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Refactoring of a GUI prototype using AJAX Improve the performance of a GUI prototype by introducing an AJAX framework. Emanuella Wallin © Emanuella Wallin, May 2009. Examiner: Sven-Arne Andreasson Department of Computer Science and Engineering Chalmers University of Technology SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 Department of Computer Science and Engineering Göteborg, Sweden May
    [Show full text]
  • Comet.NET, Design and Implementation of a Bayeux Server for the .NET Platform
    Die approbierte Originalversion dieser Diplom-/Masterarbeit ist an der Hauptbibliothek der Technischen Universität Wien aufgestellt (http://www.ub.tuwien.ac.at). The approved original version of this diploma or master thesis is available at the main library of the Vienna University of Technology (http://www.ub.tuwien.ac.at/englweb/). Comet.NET, Design and Implementation of a Bayeux Server for the .NET platform DIPLOMARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Software Engineering & Internet Computing eingereicht von Boris Mesetovic Matrikelnummer 0225445 an der Fakultät für Informatik der Technischen Universität Wien Betreuung Betreuer: Prof. Dr. Schahram Dustdar Mitwirkung: Univ.-Ass. Dipl-Ing Dipl-Ing Johann Oberleitner Wien, 04.06.2011 (Unterschrift Verfasser) (Unterschrift Betreuer) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at i Abstract Modern Web applications increasingly rely on real-time server-initiated delivery of data to browsers. It increases the responsiveness of the application, improves the overall user experience and allows various real-time collaboration scenarios between users. This appli- cation model, in which the server delivers data to a browser via HTTP without the browser explicitly requesting it, is called Comet. Protocols and techniques defined by the Comet application model are essential for Web applications that need to asynchronously deliver events to clients. One of the recent developments in the domain of Comet Web applications is an open- source application protocol called Bayeux. It provides means of two-way and low-latency communication between the server and the client and is typically used to deliver notifica- tions directly to Web browsers as soon as they occur.
    [Show full text]
  • Ideaexchange@Uakron
    The University of Akron IdeaExchange@UAkron Mechanical Engineering Faculty Research Mechanical Engineering Department 2-2011 Enabling and Understanding Failure of Engineering Structures Using the Technique of Cohesive Elements H. Jiang Xiaosheng Gao University of Akron, main campus, [email protected] T. S. Srivatsan University of Akron, Main Campus, [email protected] Please take a moment to share how this work helps you through this survey. Your feedback will be important as we plan further development of our repository. Follow this and additional works at: http://ideaexchange.uakron.edu/mechanical_ideas Part of the Mechanical Engineering Commons Recommended Citation Jiang, H.; Gao, Xiaosheng; and Srivatsan, T. S., "Enabling and Understanding Failure of Engineering Structures Using the Technique of Cohesive Elements" (2011). Mechanical Engineering Faculty Research. 910. http://ideaexchange.uakron.edu/mechanical_ideas/910 This Article is brought to you for free and open access by Mechanical Engineering Department at IdeaExchange@UAkron, the institutional repository of The nivU ersity of Akron in Akron, Ohio, USA. It has been accepted for inclusion in Mechanical Engineering Faculty Research by an authorized administrator of IdeaExchange@UAkron. For more information, please contact [email protected], [email protected]. ISSN No. 2231-3273 INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES AND MANAGEMENTDRONACHARYAA Bi-annual Research Journal of COLLEGE OF ENGINEERING GREATER NOIDA, U.P., INDIA Volume 1 Issue 1 February 2011 Dronacharya College of Engineering | Vol. 1 | Issue 1 | February 2011 ISSN No. 2231-3273 INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES AND MANAGEMENT All rights reserved:International Journal of Engineering Sciences and Management , takes no responsibility for accuracy of layouts and diagrams.
    [Show full text]
  • AJAX in the Enterprise
    Eine neue Client Technologie für PAI Projekte? Diplomarbeit AJAX in the Enterprise Studiengang: Medieninformatik Verfasser: Knut Genthe Vorgelegt bei: Prof. Walter Kriha (1. Prüfer) Dipl. Ing. Gerrit Quast (2. Prüfer) Bearbeitungszeitraum: 01.08.2006 – 31.01.2007 Abstract 2 Abstract Mit Rich Internet Applications wurde in letzter Zeit eine Lösung geschaffen, um reich- haltige, interaktive und ansprechende Benutzerschnittstellen für Webanwendungen zu entwickeln. RIAs können mit den verschiedensten Technologien entwickelt werden. Seit geraumer Zeit ruft in diesem Umfeld die neue Technologie AJAX sehr viel Interesse hervor. Es liegt im Interesse von Daimler Chrysler neue Clientparadigmen zu erforschen. Diese Arbeit untersucht, welche Vorteile, Risiken und Herausforderungen beim Einsatz von AJAX in Enterprise Umgebungen auftreten. Es werden diverser AJAX-Frameworks und die auftretenden Integrationsprobleme betrachtet. Außerdem werden die Vorteile von AJAX durch die Implementierung einer Beispielanwendung aufgezeigt. Schlagwörter: AJAX, Sicherheit, Integration, PAI, J2EE, SiteMinder, Frameworks, JavaScript, Web 2.0, RIA, Thin Client, Rich Client, Infrastruktur Inhaltsverzeichnis 3 Inhaltsverzeichnis Abstract .........................................................................................................................2 Inhaltsverzeichnis.........................................................................................................3 Abbildungsverzeichnis.................................................................................................6
    [Show full text]