100% found this document useful (4 votes)
38 views

Download full Guide to Web Development with Java - Understanding Website Creation 2nd Edition Tim Downey ebook all chapters

Website

Uploaded by

celicjevonz2
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (4 votes)
38 views

Download full Guide to Web Development with Java - Understanding Website Creation 2nd Edition Tim Downey ebook all chapters

Website

Uploaded by

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

Download the Full Version of textbook for Fast Typing at textbookfull.

com

Guide to Web Development with Java - Understanding


Website Creation 2nd Edition Tim Downey

https://textbookfull.com/product/guide-to-web-development-
with-java-understanding-website-creation-2nd-edition-tim-
downey/

OR CLICK BUTTON

DOWNLOAD NOW

Download More textbook Instantly Today - Get Yours Now at textbookfull.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Learn Java for Web Development Modern Java Web Development


Layka Vishal

https://textbookfull.com/product/learn-java-for-web-development-
modern-java-web-development-layka-vishal/

textboxfull.com

Website Hosting and Migration with Amazon Web Services: A


Practical Guide to Moving Your Website to AWS 1st Edition
Jason Nadon (Auth.)
https://textbookfull.com/product/website-hosting-and-migration-with-
amazon-web-services-a-practical-guide-to-moving-your-website-to-
aws-1st-edition-jason-nadon-auth/
textboxfull.com

Web Development for beginners Learn HTML CSS Javascript


step by step with this Coding Guide Programming Guide for
beginners Website development 1st Edition Mastery
https://textbookfull.com/product/web-development-for-beginners-learn-
html-css-javascript-step-by-step-with-this-coding-guide-programming-
guide-for-beginners-website-development-1st-edition-mastery/
textboxfull.com

Think Java How to Think Like a Computer Scientist 2nd


Edition Allen B. Downey

https://textbookfull.com/product/think-java-how-to-think-like-a-
computer-scientist-2nd-edition-allen-b-downey/

textboxfull.com
Flask Web Development Developing Web Applications With
Python 2nd Edition Miguel Grinberg

https://textbookfull.com/product/flask-web-development-developing-web-
applications-with-python-2nd-edition-miguel-grinberg/

textboxfull.com

Web App Development Made Simple with Streamlit A web


developer s guide to effortless web app development
deployment 1 / converted Edition Rosario Moscato
https://textbookfull.com/product/web-app-development-made-simple-with-
streamlit-a-web-developer-s-guide-to-effortless-web-app-development-
deployment-1-converted-edition-rosario-moscato/
textboxfull.com

Complete Vue js 2 Web Development Practical guide to


building end to end web development solutions with Vue js
2 1st Edition Mike Street
https://textbookfull.com/product/complete-vue-js-2-web-development-
practical-guide-to-building-end-to-end-web-development-solutions-with-
vue-js-2-1st-edition-mike-street/
textboxfull.com

Tango With Django: A beginner’s Guide to Web Development


With Python / Django 1.9 1st Edition Leif Azzopardi

https://textbookfull.com/product/tango-with-django-a-beginners-guide-
to-web-development-with-python-django-1-9-1st-edition-leif-azzopardi/

textboxfull.com

The Definitive Guide to JSF in Java EE 8: Building Web


Applications with JavaServer Faces Bauke Scholtz

https://textbookfull.com/product/the-definitive-guide-to-jsf-in-java-
ee-8-building-web-applications-with-javaserver-faces-bauke-scholtz/

textboxfull.com
Texts in Computer Science

Tim Downey

Guide to Web
Development
with Java
Understanding Website Creation
Second Edition
Texts in Computer Science

Series Editors
David Gries, Department of Computer Science, Cornell University, Ithaca, NY,
USA
Orit Hazzan , Faculty of Education in Technology and Science, Technion—Israel
Institute of Technology, Haifa, Israel
More information about this series at http://www.springer.com/series/3191
Tim Downey

Guide to Web
Development with Java
Understanding Website Creation
Second Edition

123
Tim Downey
School of Computing
and Information Sciences
Florida International University
Miami, FL, USA

ISSN 1868-0941 ISSN 1868-095X (electronic)


Texts in Computer Science
ISBN 978-3-030-62273-2 ISBN 978-3-030-62274-9 (eBook)
https://doi.org/10.1007/978-3-030-62274-9
1st edition: © Springer-Verlag London Limited 2012
2nd edition: © Springer Nature Switzerland AG 2021
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part
of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission
or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar
methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this
publication does not imply, even in the absence of a specific statement, that such names are exempt from
the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this
book are believed to be true and accurate at the date of publication. Neither the publisher nor the
authors or the editors give a warranty, expressed or implied, with respect to the material contained
herein or for any errors or omissions that may have been made. The publisher remains neutral with regard
to jurisdictional claims in published maps and institutional affiliations.

This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
To Bobbi, my sweetheart, with all my love.
The magic continues.
Preface

This book is about developing web applications. Over the years, more and more
frameworks have appeared that hide the details of the communication between the
browser and the server. These packages are fantastic for developing applications,
but an understanding of the underlying process can help understand the reason that
frameworks do what they do.
In writing this book, I read the Spring documentation in detail and reviewed many
questions from Stack Overflow. The problems I encountered were that many sear-
ches did not return the most current version of documentation. Frequently, I had to
check that I wasn’t reading about version 1 features instead of version 5. Similarly,
many relevant answers to questions are buried deep in the search results, since older
answers have been around much longer and appear at the top of the search.
My hope is that this book will present material from the basics of HTML and
HTTP to the intricacies of web services in a step-by-step manner, adding only a few
details at a time. Some topics have multiple implementations that produce similar
results. I hope that the distinctions between these implementations are made clear.
The book develops a framework in the first few chapters and then switches to the
Spring framework for implementing websites. There are many frameworks on the
market. Spring is popular and Spring Boot is an excellent introductory package.
I want students to understand the actual details that a framework hides, and to use a
framework to solve problems. In the future, when they are introduced to other
frameworks, they will understand them better.
I am grateful to the community of web developers, who have provided all the
excellent tools for creating web applications: Apache, Tomcat, Hibernate, Java
Servlets, Java Server Pages, NetBeans, Eclipse, Log4j, Apache Commons, Google
web services, FedEx web services, PayPal web services, JBoss Community, Spring,
and Maven.
I am thankful to Bobbi, my sweetheart, for all of her love and support. Without
Bobbi, this book would not have been finished. I also want to thank Kip Irvine for
encouraging me to write. Without Kip, this book would not have been started.

Miami, USA Tim Downey

vii
Contents

1 Web Applications and Maven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


1.1 Hypertext Transfer Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Request Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Response Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.3 Content Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Markup Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Hypertext Markup Language . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Basic Tags for a Web Page . . . . . . . . . . . . . . . . . . . . . 7
1.2.3 What is the HT in HTML? . . . . . . . . . . . . . . . . . . . . . 12
1.3 HTML Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.1 Form Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.2 Representing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.3 Transmitting Data Over the Web . . . . . . . . . . . . . . . . . 19
1.4 Web Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.1 Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5 Maven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5.1 Maven Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5.2 Maven Web Application . . . . . . . . . . . . . . . . . . . . . . . 22
1.5.3 Maven from the Command Line . . . . . . . . . . . . . . . . . 24
1.5.4 Maven in an IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.5.5 Maven: Adding A Servlet Engine . . . . . . . . . . . . . . . . 26
1.6 Processing Form Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.6.1 JSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.6.2 Initialising Form Elements . . . . . . . . . . . . . . . . . . . . . 30
1.7 The Truth About JSPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.7.1 Servlet for a JSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.7.2 Handling a JSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.8 Tomcat and IDEs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.8.1 Web Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.10 Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

ix
x Contents

2 Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1 Sending Data to Another Form . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.1 Action Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.2 Hidden Field Technique . . . . . . . . . . . . . . . . . . . . . . . 49
2.1.3 Sending Data to Either of Two Pages . . . . . . . . . . . . . 53
2.2 Using a Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.2.1 Controller Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.2.2 JSP Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.2.3 JSPs Versus Servlets . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.2.4 Controller Servlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.2.5 Servlet Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
2.2.6 Servlet Directory Structure . . . . . . . . . . . . . . . . . . . . . 71
2.2.7 Servlet Engine for a Servlet . . . . . . . . . . . . . . . . . . . . 74
2.3 Maven Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.3.1 Automatic Deployment . . . . . . . . . . . . . . . . . . . . . . . . 75
2.3.2 Debugging Servlets . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.5 Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3 Java Beans and Member Variables . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.1 Application: Start Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.2 Java Bean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.2.1 Creating a Data Bean . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.2.2 Using the Bean in a Web Application . . . . . . . . . . . . . 90
3.3 Application: Data Bean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.3.1 Mapping: Data Bean . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.3.2 Controller: Data Bean . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.3.3 Data Access in a View . . . . . . . . . . . . . . . . . . . . . . . . 94
3.3.4 Views: Data Bean . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
3.4 Application: Default Validation . . . . . . . . . . . . . . . . . . . . . . . . 96
3.4.1 Java Bean: Default Validation . . . . . . . . . . . . . . . . . . . 96
3.4.2 Controller: Default Validation . . . . . . . . . . . . . . . . . . . 98
3.5 Member Variables in Servlets . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.5.1 Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.5.2 The Problem with Member Variables . . . . . . . . . . . . . 100
3.5.3 Local Versus Member Variables . . . . . . . . . . . . . . . . . 103
3.6 Application: Shared Variable Error . . . . . . . . . . . . . . . . . . . . . 104
3.6.1 Controller: Shared Variable Error . . . . . . . . . . . . . . . . 104
3.7 Application: Restructured Controller . . . . . . . . . . . . . . . . . . . . 107
3.7.1 Creating the Helper Base . . . . . . . . . . . . . . . . . . . . . . 108
3.7.2 Creating the Controller Helper . . . . . . . . . . . . . . . . . . 109
3.7.3 Views: Restructured Controller . . . . . . . . . . . . . . . . . . 112
3.7.4 Controller: Restructured Controller . . . . . . . . . . . . . . . 114
Contents xi

3.7.5 Restructured Controller Analysis . . . . . . . . . . . . . . . . . 114


3.7.6 File Structure: Restructured Controller . . . . . . . . . . . . . 114
3.8 Model, View, Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
3.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
3.10 Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4 Spring Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.1 Spring Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.1.1 Power of Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.1.2 Injection Through Autowiring . . . . . . . . . . . . . . . . . . . 123
4.2 Application: Command Line . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.2.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.2.2 Command Line Arguments . . . . . . . . . . . . . . . . . . . . . 133
4.2.3 Main Class: Command Line . . . . . . . . . . . . . . . . . . . . 133
4.3 Application: Spring MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
4.3.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
4.3.2 Servlets and Controllers . . . . . . . . . . . . . . . . . . . . . . . 137
4.3.3 Static Content Locations . . . . . . . . . . . . . . . . . . . . . . . 139
4.3.4 Location of the View Pages . . . . . . . . . . . . . . . . . . . . 139
4.3.5 Request Data Interface . . . . . . . . . . . . . . . . . . . . . . . . 144
4.3.6 Bean Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
4.3.7 Singleton Controllers . . . . . . . . . . . . . . . . . . . . . . . . . 149
4.3.8 Retrieving HTTP Variables . . . . . . . . . . . . . . . . . . . . . 150
4.4 Application: Spring Restructured Controller . . . . . . . . . . . . . . . 151
4.4.1 Modified Controller . . . . . . . . . . . . . . . . . . . . . . . . . . 152
4.5 Maven Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
4.5.1 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
4.5.2 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
4.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4.7 Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
5 Spring MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
5.1 Eliminating Hidden Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
5.1.1 Session Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
5.1.2 Spring Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.1.3 Modifying the Controller . . . . . . . . . . . . . . . . . . . . . . 175
5.2 Controller Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
5.2.1 Encapsulating with Methods . . . . . . . . . . . . . . . . . . . . 179
5.2.2 Multiple Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
5.3 POST Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
5.3.1 POST Versus GET . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
5.3.2 Using Post . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
xii Contents

5.4 Replacing the Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188


5.4.1 Adding to the Model . . . . . . . . . . . . . . . . . . . . . . . . . 188
5.4.2 Model in a View . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
5.4.3 Model in a Controller . . . . . . . . . . . . . . . . . . . . . . . . . 191
5.5 Navigation Without the Query String . . . . . . . . . . . . . . . . . . . . 196
5.5.1 Using Path Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
5.5.2 Default Request Mapping . . . . . . . . . . . . . . . . . . . . . . 198
5.6 Session Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
5.6.1 Class Annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
5.6.2 Parameter Annotation . . . . . . . . . . . . . . . . . . . . . . . . . 200
5.6.3 Logical Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
5.6.4 Conversational Storage . . . . . . . . . . . . . . . . . . . . . . . . 204
5.6.5 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
5.7 Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
5.7.1 Logback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
5.7.2 Configuring the Logger . . . . . . . . . . . . . . . . . . . . . . . . 207
5.7.3 Retrieving the Logger . . . . . . . . . . . . . . . . . . . . . . . . . 211
5.7.4 Adding a Logger in the Bean . . . . . . . . . . . . . . . . . . . 212
5.8 Application: Enhanced Controller . . . . . . . . . . . . . . . . . . . . . . 213
5.8.1 Views: Enhanced Controller . . . . . . . . . . . . . . . . . . . . 214
5.8.2 Model: Enhanced Controller . . . . . . . . . . . . . . . . . . . . 216
5.8.3 Controller: Enhanced Controller . . . . . . . . . . . . . . . . . 218
5.9 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
5.10 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
5.11 Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
6 Validation and Persistence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
6.1 Required Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
6.1.1 Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . 228
6.1.2 Required Validation . . . . . . . . . . . . . . . . . . . . . . . . . . 232
6.2 Application: Required Validation . . . . . . . . . . . . . . . . . . . . . . . 240
6.2.1 Views: Required Validation . . . . . . . . . . . . . . . . . . . . 241
6.2.2 Model: Required Validation . . . . . . . . . . . . . . . . . . . . 242
6.2.3 Controller: Required Validation . . . . . . . . . . . . . . . . . . 243
6.3 Additional Binders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
6.3.1 Custom Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
6.3.2 Custom Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
6.4 Java Persistence API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
6.4.1 JPA Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
6.4.2 Persistent Annotations . . . . . . . . . . . . . . . . . . . . . . . . 256
6.4.3 Accessing the Database . . . . . . . . . . . . . . . . . . . . . . . 259
6.4.4 Data Persistence in Hibernate . . . . . . . . . . . . . . . . . . . 275
6.5 Application: Persistent Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Contents xiii

6.5.1 Views: Persistent Data . . . . . . . . . . . . . . . . . . . . . . . . 277


6.5.2 Repository: Persistent Data . . . . . . . . . . . . . . . . . . . . . 278
6.5.3 Controller: Persistent Data . . . . . . . . . . . . . . . . . . . . . 278
6.6 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
6.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
6.8 Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
7 Advanced HTML and Form Elements . . . . . . . . . . . . . . . . . . . . . . 287
7.1 Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
7.2 HTML Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
7.2.1 In-Line and Block Tags . . . . . . . . . . . . . . . . . . . . . . . 289
7.2.2 General Style Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
7.2.3 Layout Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
7.3 Cascading Style Sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
7.3.1 Adding Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
7.3.2 Defining Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
7.3.3 Custom Layout with CSS . . . . . . . . . . . . . . . . . . . . . . 303
7.4 Form Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
7.4.1 Input Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
7.4.2 Textarea Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
7.4.3 Select Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
7.5 Spring Form Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
7.5.1 Spring Input Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
7.5.2 Spring Textarea Tag . . . . . . . . . . . . . . . . . . . . . . . . . . 315
7.5.3 Spring Select Elements . . . . . . . . . . . . . . . . . . . . . . . . 315
7.5.4 Initialising Form Elements . . . . . . . . . . . . . . . . . . . . . 316
7.6 Bean Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
7.6.1 Bean Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
7.6.2 Filling the Bean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
7.6.3 Accessing Multiple-Valued Properties . . . . . . . . . . . . . 319
7.7 Application: Complex Elements . . . . . . . . . . . . . . . . . . . . . . . . 320
7.7.1 Controller: Complex Elements . . . . . . . . . . . . . . . . . . . 320
7.7.2 Views: Complex Elements . . . . . . . . . . . . . . . . . . . . . 321
7.7.3 Model: Complex Elements . . . . . . . . . . . . . . . . . . . . . 324
7.8 Validating Multiple Choices . . . . . . . . . . . . . . . . . . . . . . . . . . 326
7.9 Application: Complex Validation . . . . . . . . . . . . . . . . . . . . . . . 327
7.9.1 Model: Complex Validation . . . . . . . . . . . . . . . . . . . . 327
7.9.2 Views: Complex Validation . . . . . . . . . . . . . . . . . . . . 328
7.9.3 Controller: Complex Validation . . . . . . . . . . . . . . . . . . 329
7.10 Saving Multiple Choices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
7.11 Application: Complex Persistent . . . . . . . . . . . . . . . . . . . . . . . 332
7.11.1 Model: Complex Persistent . . . . . . . . . . . . . . . . . . . . . 332
7.11.2 Views: Complex Persistent . . . . . . . . . . . . . . . . . . . . . 332
xiv Contents

7.11.3 Repository: Complex Persistent . . . . . . . . . . . . . . . . . . 333


7.11.4 Controller: Complex Persistent . . . . . . . . . . . . . . . . . . 334
7.12 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
7.13 Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
8 Accounts–Cookies–Carts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
8.1 Retrieving From The Database . . . . . . . . . . . . . . . . . . . . . . . . 344
8.1.1 Finding a Row . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
8.1.2 Validating a Single Property . . . . . . . . . . . . . . . . . . . . 346
8.1.3 Retrieving a Record . . . . . . . . . . . . . . . . . . . . . . . . . . 347
8.2 Application: Account Login . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
8.2.1 Model: Account Login . . . . . . . . . . . . . . . . . . . . . . . . 350
8.2.2 Views: Account Login . . . . . . . . . . . . . . . . . . . . . . . . 352
8.2.3 Controller: Account Login . . . . . . . . . . . . . . . . . . . . . 353
8.3 Removing Rows from the Database . . . . . . . . . . . . . . . . . . . . . 355
8.3.1 Delete Fragment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
8.3.2 Delete Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
8.3.3 Controller: Delete Record . . . . . . . . . . . . . . . . . . . . . . 356
8.4 Application: Account Removal . . . . . . . . . . . . . . . . . . . . . . . . 357
8.4.1 Views: Account Removal . . . . . . . . . . . . . . . . . . . . . . 357
8.4.2 Controller: Account Removal . . . . . . . . . . . . . . . . . . . 357
8.5 Account Number in Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
8.5.1 Handler Modifications for the Path . . . . . . . . . . . . . . . 359
8.5.2 Model: Path Controller . . . . . . . . . . . . . . . . . . . . . . . . 362
8.5.3 Controller: Path Controller . . . . . . . . . . . . . . . . . . . . . 362
8.5.4 Views: Path Controller . . . . . . . . . . . . . . . . . . . . . . . . 364
8.6 Cookie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
8.6.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
8.6.2 Cookie Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
8.7 Application: Cookie Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
8.7.1 View: Cookie Test . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
8.7.2 Showing Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
8.7.3 Setting Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
8.7.4 Deleting Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
8.7.5 Finding Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
8.7.6 Path Specific Cookies . . . . . . . . . . . . . . . . . . . . . . . . . 372
8.8 Application: Account Cookie . . . . . . . . . . . . . . . . . . . . . . . . . . 373
8.8.1 Views: Account Cookie . . . . . . . . . . . . . . . . . . . . . . . 373
8.8.2 Controller: Account Cookie . . . . . . . . . . . . . . . . . . . . 374
8.9 Shopping Cart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
8.9.1 Cart Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
8.9.2 Create Cart Item Database . . . . . . . . . . . . . . . . . . . . . 384
8.9.3 Model: Shopping Cart . . . . . . . . . . . . . . . . . . . . . . . . 386
Contents xv

8.10 Application: Shopping Cart . . . . . . . . . . . . . . . . . . . . . . . . . . . 390


8.10.1 Design Choices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
8.10.2 Controller: Browse . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
8.10.3 Controller: Shopping Cart . . . . . . . . . . . . . . . . . . . . . . 393
8.10.4 Views: Shopping Cart . . . . . . . . . . . . . . . . . . . . . . . . . 395
8.10.5 Shopping Cart: Enhancement . . . . . . . . . . . . . . . . . . . 400
8.11 Persistent Shopping Cart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
8.12 Application: Persistent Shopping Cart . . . . . . . . . . . . . . . . . . . 402
8.12.1 Model: Persistent Shopping Cart . . . . . . . . . . . . . . . . . 402
8.12.2 Views: Persistent Shopping Cart . . . . . . . . . . . . . . . . . 403
8.12.3 Repository: Persistent Shopping Cart . . . . . . . . . . . . . . 405
8.12.4 Controller: Persistent Shopping Cart . . . . . . . . . . . . . . 405
8.13 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
8.14 Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
9 Web Services and Legacy Databases . . . . . . . . . . . . . . . . . . . . . . . . 411
9.1 Application: Google Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
9.1.1 Model: Google Maps . . . . . . . . . . . . . . . . . . . . . . . . . 412
9.1.2 Handler: Process Google Maps . . . . . . . . . . . . . . . . . . 413
9.1.3 Views: Google Maps . . . . . . . . . . . . . . . . . . . . . . . . . 413
9.1.4 API Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
9.2 FedEx: Rate Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
9.2.1 Expanding the WSDL File . . . . . . . . . . . . . . . . . . . . . 416
9.2.2 FedEx: Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
9.2.3 Application: FedEx . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
9.2.4 Model: FedEx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
9.2.5 Views: FedEx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
9.2.6 Controller: FedEx . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
9.3 PayPal Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
9.3.1 Credentials: PayPal . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
9.3.2 Application: PayPal . . . . . . . . . . . . . . . . . . . . . . . . . . 431
9.3.3 Controller: PayPal . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
9.3.4 Views: PayPal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
9.3.5 Application: PayPal with Oauth . . . . . . . . . . . . . . . . . 434
9.4 Legacy Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
9.4.1 Eclipse Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
9.4.2 Install the Database Driver . . . . . . . . . . . . . . . . . . . . . 443
9.4.3 Hibernate Console . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
9.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
9.6 Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
10 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
10.1 Spring: Object Provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
10.2 Classpath and Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
xvi Contents

10.2.1 Usual Suspects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453


10.2.2 What is a Package? . . . . . . . . . . . . . . . . . . . . . . . . . . 454
10.3 MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
10.3.1 Configuring MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . 454
10.3.2 MySql Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
10.4 Old School . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
10.4.1 Validation the Hard Way . . . . . . . . . . . . . . . . . . . . . . 456
10.4.2 Initialising Complex Elements . . . . . . . . . . . . . . . . . . . 463
10.4.3 Application: Old SchoolInitialised Complex
Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
10.5 Source Code of Complicated Controllers . . . . . . . . . . . . . . . . . 480
10.5.1 Servlet for a JSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
10.5.2 Controller Servlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
10.5.3 Restructured Controller . . . . . . . . . . . . . . . . . . . . . . . . 484
10.5.4 Spring Restructured Controller . . . . . . . . . . . . . . . . . . 485
10.5.5 Enhanced Controller . . . . . . . . . . . . . . . . . . . . . . . . . . 486
10.5.6 Persistent Controller . . . . . . . . . . . . . . . . . . . . . . . . . . 488
10.5.7 Complex Persistent Controller . . . . . . . . . . . . . . . . . . . 490
10.5.8 Account Path and Shopping Cart . . . . . . . . . . . . . . . . . 493

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
Web Applications and Maven
1

This chapter explains how information is sent between a browser and a server. It
begins with descriptions of the request from a browser and a response from a server.
Each has a format that is determined by the Hypertext Transfer Protocol [HTTP].
Basic HTML tags are introduced next, followed by HTML forms for collecting
data. Data is easily passed from one page to another, but the data cannot be
processed without a dynamic engine like a servlet engine. Maven is introduced as a
development environment that easily incorporates a servlet engine into an appli-
cation. Using Maven, a web server can be started that hosts a web application that
can be compiled and run. The chapter explains markup languages, with a detailed
description of the Hypertext Markup Language [HTML], which sends formatted
content from the server to the browser. An important feature of HTML is its ability
to easily request additional information from the server through the use of hypertext
links. HTML forms are covered. These send data from the browser back to the
server. Information from the form must be formatted so that it can be sent over the
web. The browser and server handle encoding and decoding the data.
Simple web pages cannot process form data that is sent to them. One way to
process form data is to use a web application and a Java Server Page [JSP]. In a
JSP, the Expression Language [EL] simplifies access to the form data and can be
used to initialise the form elements with the form data that is sent to the page.
JSPs are processed by a program known as a servlet engine. The servlet engine
receives the request and response data from the web server and processes the
request from the browser. The servlet engine translates all JSPs into programs
known as servlets.
Servlets and JSPs must be run from a servlet engine. Maven has the ability to
embed a Tomcat servlet engine into the application.

© Springer Nature Switzerland AG 2021 1


T. Downey, Guide to Web Development with Java, Texts in Computer Science,
https://doi.org/10.1007/978-3-030-62274-9_1
2 1 Web Applications and Maven

1.1 Hypertext Transfer Protocol

Whenever someone accesses a web page on the Internet, two computers commu-
nicate. One computer has a software program known as a browser, the other
computer has a software program known as a web server. The browser sends a
request to the server and the server sends a response to the browser. The request
contains the name of the page that is being requested and information about the
browser that is making the request. The response contains the page that was
requested (if it is available), information about the page, and information about the
server. Figure 1.1 depicts the aspects of the request and response.
When the browser makes the request, it mentions the protocol that it is using:
HTTP/1.1. When the server sends the response, it also identifies the protocol it is
using: HTTP/1.1. A protocol is not a language; it is a set of rules that must be
followed. For instance, one rule in HTTP is that the first line of a request will
contain the type of request, the address of the page on the server and the version of
the protocol that the browser is using. Another rule is that the first line of the
response will contain the version of the protocol that the server is using, a numeric
code indicating the success of the request and a sentence describing the code.
Protocols are used in many places, not just with computers. When the leaders of
two countries meet, they must decide on a common protocol in order to commu-
nicate. Do they bow or shake hands when they meet? Do they eat with chopsticks or
silverware? It is the same situation for computers, in order for the browser and
server to communicate, they must decide on a common protocol.

Fig. 1.1 The request and response have specific formats, as specified by HTTP
1.1 Hypertext Transfer Protocol 3

1.1.1 Request Format

The request from the browser has the following format in HTTP:

a. The first line contains the type of request, the name of the requested page and
the protocol that is being used.
b. Subsequent lines are the request headers. They contain information about the
browser and the request.
c. A blank line in the request indicates the end of the request headers
d. In a POST request, additional information can be included after the blank line.

Typical information that is contained in the request headers is the brand of the
browser that is making the request, the types of content that the browser prefers, the
languages and character set that the browser prefers and the type of connection that
is being used. The names of these request headers are User-agent, Accept,
Accept-language and Accept-charset, respectively (Table 1.1).

1.1.2 Response Format

The response from the server has the following format in HTTP:

a. The first line contains the protocol being used, the status code and a brief
description of the status.
b. Subsequent lines are the response headers. They contain information about the
server and the response.
c. A blank line in the response indicates the end of the response headers.
d. In a successful response, the content of the page will be sent after the blank line.

Typical information that is contained in the response headers is the brand of the
server that is making the response, the type of the file that is being returned and the
number of characters that are in the file. The names of these response headers are
Server, Content-Type and Content-length, respectively (Table 1.2).

Table 1.1 Common request headers


User-agent Identifies the type of browser that made the request
Accept Specifies the MIME types that the browser prefers
Accept-language Indicates the user’s preferred language, if multiple versions of the
document exist
Accept-charset Indicates the user’s preferred character set. Different character sets can
display characters from different languages
4 1 Web Applications and Maven

Table 1.2 Common response headers


Server Identifies the type of server that made the response
Content-type Identifies the MIME type of the response
Content-length Contains the number of characters that are in the response

1.1.3 Content Type

The server must also identify the type of information that is being sent. This is
known as the Content Type. Different content types define text, graphics, spread-
sheets, word processors and more.
These content types are expressed as Multipurpose Internet Mail Exten-
sions [MIME] types. MIME types are used by web servers to declare the type of
content that is being sent. MIME types are used by the browser to decode the type
of content that is being received. If additional data is included with the request, the
browser uses special MIME types and additional request headers to inform the
server. The server and browser will each contain a file that has a table of MIME
types with the associated file extension for that type.
The basic structure of a MIME type is a general type, a slash and a specific type.
For example, the general type for text has several specific types, for plain text,
HTML text and style sheet text. These types are represented as text/plain, text/html
and text/css, respectively. When the server sends a file to the browser, it will also
include the MIME type for the file in the header that is sent to the browser.
MIME types are universal. All systems have agreed to use MIME types to
identify the content of a file transmitted over the web. File extensions are too
limiting for this purpose. Many different word processor programs might use the
extension .doc to identify a file. For instance, .doc might refer to an MS WORD
document or to an MS WORDPAD document. It is impossible to tell from the
extension which program actually created the program. In addition, other programs
could use the .doc extension to identify a program: for instance, WordPerfect could
also use the .doc extension. Using the extension to identify the content of the file
would be too confusing.
The most common content type on the web is HTML text, represented as the
MIME type text/html.

1.2 Markup Language

I am confident that most students have seen a markup language. I remember my


days in English composition classes: my returned papers would always have cryptic
squiggles written all over them (Fig. 1.2).
1.2 Markup Language 5

Fig. 1.2 Editors use markup to annotate text

Some of these would mean that a word was omitted (^), that two letters were
transposed (a sideways '' S ',' enclosing the transposed letters), or that a new para-
graph was needed (a backwards, double-stemmed '' P '). ' These marks were invalu-
able to the teacher who had to correct the paper because they conveyed a lot of
meaning in just a few pen strokes. Imagine if a program could accept such a paper
that is covered with markup, read the markup and generate a new version with all
the corrections made.
There are other forms of markup languages. The script of a play has a markup
language that describes the action that is proceeding while the dialog takes place.
For instance, the following is a hypothetical script for the 3 Stooges:

Moe: Oh, a wise guy, huh? <Pulls Larry’s hair>


Larry: It wasn’t me. <Hits Curly in the stomach>
Moe: What are you doing? <Tries to poke Curly in the eye>
Curly: Nyuk, nyuk, nyuk. <Places hand in front of eyes>
Moe: Ignoramus. <Bonks Curly on top of the head>

Every markup language has two parts.

a. The plain text


b. The markup, which contains additional information about the plain text.

1.2.1 Hypertext Markup Language

HTML is the markup language for the web. It is what allows the browser to display
colours, fonts, links and graphics. All markup is enclosed within the angle brack-
ets <and>. Directly adjacent to the opening bracket is the name of the tag. Addi-
tional attributes can be included after the name of the tag and before the closing
bracket.
HTML tags are intermixed with plain text. The plain textis what the viewer of a
web page will see. The HTML tags are commands to the browser for displaying the
6 1 Web Applications and Maven

text. In this example, the plain text ‘This text is strong’ is enclosed within the
HTML tags for making text look strong:

<strong> This text is strong</strong>

The viewer of the web page would not see the tags, but would see the text
rendered strongly. For most browsers, strong text is bold, and the sentence would
appear as:
This text is strong
HTML has two types of tags: singletons and paired tags.
Singletons have a limited amount of text embedded within them as attributes or
they have no text at all. Singletons only have one tag. Table 1.3 gives two examples
of singleton tags.
Paired tags are designed to contain many words and other tags. These tags have an
opening and a closing tag. The text that they control is placed between the opening and
closing tags. The closing tag is the same as the opening tag, except the tag name is
preceded by a forward slash /. Table 1.4 gives four examples of paired tags.

Table 1.3 Examples of singletons


Tag Explanation
<br> Insert a line break into the document
<input> Insert a form element into the document. This is a tag that has additional
attributes, which will be explained below

Table 1.4 Examples of paired tags


Tag Explanation
<strong> strong </strong> Typically, the enclosed text is rendered in a thicker
font
<ins> inserted </ins> Typically, the enclosed text is rendered with an
underline
<em> emphasised </em> Typically, the enclosed text is rendered in an italic font
<p> paragraph </p> The enclosed text will have at least one empty line
preceding it

Table 1.5 Two essential form element types


Type Example
text <input type=''text'' name=''hobby'' value=''''>
The value attribute is the text that appears within the element when the page is
loaded
submit <input type=''submit'' name=''nextButton'' value=''Next''>
The value attribute is the text that appears on the button in the browser
1.2 Markup Language 7

1.2.2 Basic Tags for a Web Page

We are very sophisticated listeners. We can understand many different accents. We


can understand when words are slurred together. However, if we were to write out
the phonetic transcription of our statements, they would be unreadable. There is a
correct way to write our language, but a sophisticated listener can detect and correct
many errors in pronunciation.
For instance, most English speakers would understand me if I asked the question
Jeet yet?
In print, it is incomprehensible. A proper response might be
No, joo?
Or,
Yeah, I ate.
As we become more proficient in a language, we are able to understand it, even
when people do not enunciate clearly.
In the same way, all markup languages have a format that must be followed in
order to be correct. Some language interpreters are more sophisticated than others
and can detect and correct mistakes in the written format. For example, a paragraph
tag in HTML is a paired tag and most browsers will render paragraphs correctly,
even if the closing paragraph tag is missing. The reason is that paragraph tags
cannot be nested one inside the other, so when a browser encounters a new <p> tag
before seeing the closing </p> for the current paragraph, the browser inserts a
closing </p> and then begins the new paragraph. However, if an XML interpreter
read the same HTML file with the missing </p> tag, the interpreter would report
an error instead of continuing to parse the file. It is better to code all the tags that are
defined for a well-formed HTML document, than to rely on browsers to fill in the
missing details.
Standard Tags
The HTML specification defines a group of standard tags that control the structure
of the HTML document. These three tags contain all the information for the page.

<html> html code </html>

The html tags enclose all the other tags and text in the document. It only contains
the following two sections.

<head> browser command tags </head>

The head tags enclose tags that inform the browser about how to display the
entire page. These control how the page appears in the browser, but do not
8 1 Web Applications and Maven

contain any content for the page. This paired tag belongs within the paired html
tags.
<body> body tags </body>

The body tags contain all the plain text and HTML tags that are to be displayed
in the browser window. This paired tag belongs within the paired html tags.
While the body section contains the normal HTML tags discussed in this chapter,
like strong and em, the head section contains special markup tags that indicate
how the browser should display the page. The meta and title tags belong in the head
section.

<title> title text </title>

The title tags enclose the text that will display in the title bar of the browser
window.

<meta charset = ''UTF-8''>

The meta tag is a singleton that indicates extra information for the browser. This
tag can be repeated to include different information for the browser. A standard
page should include a meta tag with charset='' utf-8 '.' This indicates the character
set for the language that is being used to display the page.
HTML Validation
The WWW Consortium [W3C] publishes the HTML standard and provides tools for
HTML validation that will test that a page has the correct HTML structure. In order
to comply with the HTML specification, all web pages should have the following
structure.

<!DOCTYPE HTML>
<html>
<head>
<meta charset=''utf-8''>
<title>Simple Page</title>
</head>
<body>
<p>
This is a <em>simple</em> web page.
</body>
</html>

a. The DOCTYPE defines the type of markup that is being used. It precedes the
html tag because it defines which version of HTML is being used.
1.2 Markup Language 9

b. All the tags and plaintext for the page are contained within the paired html
tags.

i. Place a head section within the paired html tags.

A. Place a paired title tag within the head section.


B. Place a singleton meta tag for the character set within the head section.

ii. Place a body section within the paired html tags.

c. The DOCTYPE and meta tags are required if the page is to be validated by W3C
for correct HTML syntax. Go to https://www.w3.org to access the HTML
validator.

There is no excuse for a web page to contain errors. With the use of the vali-
dation tool at https://www.w3.org, all HTML pages should be validated to ensure
that they contain all the basic tags.
Layout versus Style
Two types of information are contained in each HTML page: layout and style. The
basic layout is covered in this chapter; advanced layout and style are covered in
Chap. 7. Style information contains things like the colours and font for the page.
The recommended way to handle style and layout is to place all the layout tags in
the HTML page and to place all the style information in a separate file, called a
style sheet. For the interested student, the HTML and style information from
Chap. 7 can be read at any time.
Hypertext Markup Language Five [HTML5] is the latest version of the HTML
standard. In the previous versions, tags could specify the style of a page. In the new
version, those tags have been deprecated. In order to validate that a page conforms
to version 5, the tags that specify specific style cannot be used.
In previous versions of the HTML standard, different DOCTYPE statements
could be used for HTML pages: strict and transitional. The strict one was the
recommended one, since it enforced the rule that all style information be contained
in a separate file. Version five has no choices for the DOCTYPE: all pages must use
strict HTML. All pages for this book will use the new DOCTYPE for HTML5.

<!DOCTYPE HTML>

Word Wrap and White Space


Most of us type text in a word processor and let the program determine where the
line breaks belong. This is known as word wrap. The only time that we are required
to hit the enter key is when we want to start a new paragraph.
Browsers will use word wrap to display text, even if the enter key is pressed.
Browsers will treat a new line character, a tab character and multiple spaces as a
10 1 Web Applications and Maven

single space. In order to insert a new line, tab or multiple spaces in an HTML page,
markup must be used: if it is not plain text, then it must be placed in markup.
Browsers take word wrap one step further. Browsers will compress all con-
secutive white space characters into a single space character. The common white
space characters are the space, the tab and the new line character. If five spaces start
a line, they will be compressed into one space.
The following listing contains a web page that has a poem.

<!DOCTYPE HTML>
<html>
<head>
<meta charset=''utf-8''>
<title>A Poem</title>
</head>
<body>
Roses are red
Violets are blue
This could be a poem
But not a haiku
A haiku has a fixed structure. The first line has five
syllables, the second line has seven syllables and the
third line has five syllables. Therefore, the previous
poem cannot be a haiku.
</body>
</html>

Even though the poem has four lines, the poem will appear as one line in the
browser. This is because no markup was added to indicate that one line has ended
and another line should begin. The browser will wrap to a new line if the poem
would extend beyond the right margin of the browser.

Try It
https://bytesizebook.com/guide-boot/ch1/poem.html

Fig. 1.3 How the poem will appear in the browser


1.2 Markup Language 11

Open the link in a browser and view the poem (Fig. 1.3). Resize the window and
note how the browser will break the text in different places. If the window is large
enough, the entire page will be displayed on one line.
Line Breaks
Two of the tags that can start a new line are <br> and <p>. The <br> tag is short
for breakand starts a new line directly under the current line. It is a singleton tag, so
it does not have a closing tag. The <p> tag is short for paragraphand skips at least
one line and then starts a new line. It is a paired tag, so it is closed with
the </p> tag.
As was mentioned above, browsers have the ability to interpret HTML even if
some tags are missing. The closing paragraph tag is such a tag. It is not possible to
nest one paragraph inside another, so if the browser encounters two paragraph tags
without closing tags, as in <p> One <p> Two, then it will interpret this as <
p> One </p> <p> Two </p>. Even the validators at w3.org will accept HTML
that does not have closing paragraph tags.
Listing 1.1 contains the HTML page for the poem, using markup for line breaks
and paragraph tags.

<!DOCTYPE HTML>
<html>
<head>
<meta charset=''utf-8''>
<title>A Poem</title>
</head>
<body>
<p>
Roses are red<br>
Violets are blue<br>
This could be a poem<br>
But not a haiku<br>
<p>
A haiku has a fixed structure. The first line has five
syllables, the second line has seven syllables and the
third line has five syllables. Therefore, the previous
poem cannot be a haiku.
</body>
</html>

Listing 1.1 A four-line poem with markup for line breaks HTML
12 1 Web Applications and Maven

Fig. 1.4 How the formatted poem will appear in the browser

When displayed in a browser, each line of the poem will appear on a separate line.
The paragraph that follows the poem will still be displayed using word wrap, since
no line breaks were inserted into it.

Try It
https://bytesizebook.com/guide-boot/ch1/poem_formatted.html
Open the page in a browser to see how it looks (Fig. 1.4). Resize the window and
note that the poem displays on four lines, unless the window is very small.
Most browsers have an option for viewing the actual HTML that was sent from
the server. If you view the source, you will see the same HTML code that was
displayed in Listing 1.1.

1.2.3 What is the HT in HTML?

The HT in HTMLstands for Hypertext. Hypertext is the ability to click on a link in


one page and have another page open. If you have ever clicked on a link in a web
page to open another page, then you have used a hypertext link.
A hypertext linkhas two parts: the location of the new page and the link text that
appears in the browser. The location of the pages is specified as a Uniform Resource
Locator [URL], which contains four parts: protocol, server, path and name. The
protocol could be http, ftp, telnet or others. The protocol is followed by a colon and
two slashes (://). After the protocol is the server. The server is followed by a slash
and the path of the directory that contains the resource. The name of the resource
follows the path. protocol://server/path/name.
The URL of the hypertext link is not displayed in the web page, but it is
associated with the underlined text on the web page. Another way to say this is that
the URL has to be included in the markup, since it does not appear as plain text.
1.2 Markup Language 13

Anchor Tag
The tag for a hypertext link is the paired tag <a> , which is short for anchor.

<a href=''hidden_URL_of_a_file''>
Visible text in browser
</a>

Note that the text that is visible in the browser is not inside a tag, but that the
URL of the file is. This is an example of a tag that has additional information stored
in it. The additional information is called an attribute. The URL of the page is
stored in an attribute named href. Attributes in HTML tags provide extra infor-
mation that is not visible in the page in the browser.
This agrees with the basic definition of HTML as having plain text and tags. The
tags contain extra information about how to display the plain text. In this case,
when the user clicks on the plain text, the browser will read the URL from the href
and request that page from the server.
It may not seem apparent why this tag is called an anchor tag. An anchor tag in
HTML is like the anchor of a ship. The anchor for a ship connects two parts: the
ship, which is visible from the surface of the water, and the bottom of the ocean.
When the anchor is in use, it is not in the ship, it is in the bottom of the ocean. The
anchor HTML tag connects the visible text in the browser to the physical location
of a file.
Absolute and Relative References
The href attribute of the anchor tag contains the URL of the destination page. When
using the anchor tag to reference other pages on the web, you must know the
complete URL of the resource in order to create a link to it. However, depending on
where the resource is located, you may be able to simplify the address of the page
by using a relative reference.
Absolute
If the resource is not on the same server, then you must specify the entire URL,
starting with http://. This is known as an absolute reference.

<a href=''https://server.com/path/page.html''>
Some Page Somewhere on the web
</a>

Relative to the Root


If the resource is on the same server, but is not descended from the current
directory, then include the full path from the document root, starting with a /.
14 1 Web Applications and Maven

<a href=''/path/from/root/page.html''>
Some Page on the Current Server
</a>

In the Current Folder


If the resource is in the same directory as the HTML page that references it, then
only include the file name, not the server or the directory.

<a href=''page.html''>
Some Page
</a>

Descended from the Current Folder


If the resource is in a subdirectory of the directory where the HTML page that
references it is located, then include the name of the subdirectory and the file name.

<a href=''subdir/of/current/dir/page.html''>
Some Page in Some Subdir
</a>

References have three types.

a. Absolute
b. Relative from document root
c. Relative from current directory.

Just a few rules determine the kind of reference.

a. If the URL begins with a protocol (like http://, ftp://, or telnet://), then it is an
absolute reference to that location.
b. If the URL begins with a /, then it is a relative reference from the document root
of the current server.
c. In all other cases, the URL is a relative reference from the current directory.

Calculating Relative References


To calculate a relative reference, start with the absolute reference of the current
page and the absolute reference to the new page. For instance, suppose that the
current page and the next page are referenced as
https://www.bytesizebook.com/guide-boot/ch1/poem.html
https://www.bytesizebook.com/guide-boot/ch1/poem_formatted.html
Random documents with unrelated
content Scribd suggests to you:
Linderin kautta saatettu Plehwelle ja tämä antanut siitä tiedon H.
Majesteetillensa, joka oli siitä lausunut mielihyvänsä.

Mutta kiertokirje herätti aivan luonnollisesti voimakasta,


kiihtymystä nuorten mielissä ja tämä mieliala puhkesi ilmi
ylioppilaskokouksessa huhtikuun 2 päivänä. Ääniä laskettaessa erään
vaalin aikana joutuivat muutamat niistä, jotka olivat allekirjoittaneet
kiertokirjeen, häväisevän kohtelun alaisiksi. Heidät piiritettiin ja heille
huudettiin haukkumasanoja, heitä nimitettiin maankavaltajiksi,
senaattorikandidaateiksi, puhuttiin venäläisistä ruplista y.m.
Käsikähmään ei kuitenkaan tultu. Mutta kokouksen päätyttyä
hyökättiin erään "decemvirin" kimppuun, ajettiin ulos
ravintolahuoneustosta hänet ja kolme muuta ylioppilasta, jotka
istuivat samassa pöydässä kuin hän. Asiassa toimitettiin tutkimus
muutamia päiviä myöhemmin. Syyllisintä ei saatu selville. Neljä
muuta sai ankaran varoituksen ja yhdeltä otettiin hänen oikeutensa
olla jäsenenä ylioppilaskunnan hallituksessa. Heille teroitettiin, että
yliopistoviranomaiset eivät voineet sallia poliittista vainoa
akateemisen nuorison keskuudessa, sekä että heidän täytyi pitää
silmällä milloin sitä ilmeni, niin että se oli rangaistukseen saatettava,
samoin kuin muutkin epäjärjestykset.

Niinkuin edeltäpäin voi arvata, ottivat ylioppilaat tänäkin keväänä


osaa agitatsioniin kutsunnoista poisjäämisen puolesta, mutta he
tekivät sitä varovaisemmin ja minun luullakseni pienemmässä
määrässä kuin edellisenä vuonna. Niinpä vangittiin toukokuun 27
päivänä kaksi opiskelevaa, W. Godenhjelm ja J. Toiviainen, jotka
edellisen asuntoon olivat koonneet muutamia asevelvollisia
puhuakseen heidän kanssaan, jolloin myöskin eräs urkkija oli hiipinyt
sisään, ja tämä ilmiantoi heidät viipymättä poliisille. Minun onnistui
pelastaa mainitut herrat poliisin käsistä, ja asia siirrettiin
raastuvanoikeuteen, missä he saivat vapauttavan tuomion. Helsingin
kutsunta kävi kaikin puolin rauhallisesti. Eräs ylioppilas vangittiin,
koska hän kadulla oli puhutellut muutamia asevelvollisia, mutta ei
hänelläkään ollut tästä enempiä ikävyyksiä ja raastuvanoikeus
vapautti hänet. Myöhemmin sattui muutamia samanlaatuisia
tapauksia maaseudulla. Helsingissä saapui kutsuntaan joku kymmen
ylioppilasta, maaseudulla tuli verrattain monta, runsaasti 50.
Vastustus ei siis ollut yhtä voimakas kuin edellisenä vuonna.

Elokuun lopulla saatiin tietää, että kenraalikuvernööri oli


senaattiin, lausunnon antamista varten, lähettänyt ehdotuksen
asevelvollisuudesta poisjääneiden rankaisemisesta, ja m.m.
ehdottanut, että ensimmäiseen sivistysluokkaan kuuluvat
sijoitettaisiin venäläisiin joukkoihin. Sen mukaan kuin minulle
ilmoitettiin aivan luotettavalta taholta, oli erääseen Kaukaasian
rykmenttiin saapunut kysely, voisiko se ottaa vastaan neljä
ylioppilasta. Asiaa oli siis sotilaallisella taholla valmisteltu. Syyskuun 1
päivänä sain tietää, että rankaisuasiaa samana päivänä käsiteltäisiin
senaatissa, mutta tiedonanto tuli minulle niin myöhään, että vasta
iltapäivällä voin käydä Enebergin luona (kirkollisasiain päällikkö
Genetz oli matkalla). Hän ilmoitti, että senaatti oli selittänyt, että se
ehdotettu toimenpide, jonka mukaan suomalaisia nuorukaisia
sijoitettaisiin venäläisiin joukkoihin, soti niinhyvin perustus- kuin
asevelvollisuuslakia ja H. Majesteettinsa vakuutuksia vastaan, ja
senaatti oli evännyt tämän osan ehdotusta.

Syyslukukauden alkaessa oli jälleen suurta levottomuutta niiden


huhujen johdosta, joita kierteli odotettavana olevista rangaistuksista.
Minä puolestani koetin tyynnyttää nuorisoa, ja kehoitin nuoria miehiä
pysymään alallaan ja harrastamaan opintojansa. Sijaiskanslerilta sain
sen tiedonannon, että kenraalikuvernööri muutamien päivien
kuluttua matkustaisi Warsovaan, jossa H. Majesteettinsakin siihen
aikaan oli. Koska voitiin pelätä, että kysymys asevelvollisten
rankaisemisesta mahdollisesti silloin tulisi puheeksi tai ratkaistavaksi,
lähti sijaiskansleri 15 päivän iltana Pietariin tutkimaan asemaa ja
tekemään minkä voisi ehkäistäkseen uhkaavan vaaran. Oerstrœmin
luona käydessään huomasi Danielson, että tämä oli kokonaan
tietämätön kenraalikuvernöörin ehdotuksesta. Oerstrœm luuli, ettei
Plehwelläkään ollut tietoa siitä. Hän ei voinut ajatella, että Bobrikoff
Plehwen selän takana esittelisi sellaisen asian, sillä se johtaisi
täydelliseen välien rikkoutumiseen heidän kesken. Plehwen, joka oli
matkalla Siperiassa, piti palata lokakuussa v.l. ja sitä ennen siis
tuskin mitään ratkaisua tapahtuisi. Oerstrœm piti muuten itse
ehdotusta varsin sopimattomana ja lausui: "Mitä tahansa, mutta ei
tätä." Danielson jätti Oerstrœmille pitkähkön promemorian, jonka
hän oli laatinut neuvoteltuaan minun kanssani, ja tämä lupasi esittää
sen Plehwelle.

Muutamia päiviä myöhemmin kävi Danielson Deutrichin luona,


joka juuri oli palannut Pietarista. Tämän kysymykseen, oliko
yliopistossa rauhallista, vastasi Danielson myöntävästi ja sanoi
luulevansa, että niin tulisi olemaankin, jollei mitään odottamatonta
tapahtuisi. Tämän yhteydessä otti hän puheeksi kenraalikuvernöörin
rangaistusehdotuksen ja sanoi sen olevan hyvin onnettoman.
Deutrich lausui: "Olette ehkä oikeassa" ja lupasi esittää Danielsonin
perustelut Bobrikoffille. Kysymyksen ratkaisua ei voitu odottaa
ennenkuin marraskuussa. Mitä tuli kurinpitotoimenpiteisiin
kutsunnasta poisjääneitä ylioppilaita vastaan, huomautti Danielson,
että täkäläiset yliopistoviranomaiset eivät voineet sellaisiin ryhtyä,
vaan että, jos jokin tämänlaatuinen toimenpide tulisi kysymykseen,
kuuluisi se kanslerille.
Kun Oerstrœm kerran kävi luonani syyskuun lopulla, tuli tämä
kysymys puheeksi. Hän lausui sen toivomuksen, että
kenraalikuvernöörin ehdotus poisjääneiden ylioppilasten
sijoittamisesta venäläiseen sotaväkeen ei tulisi hyväksytyksi, ja hän
arveli, että sen pitemmälle kuin kurinpidollisiin rangaistuksiin ei
mentäisi. Minä huomautin hänelle, että ylioppilasten käytöksessä ei
ollut mitään rikollista tai rangaistavaa tavallisessa merkityksessä. Hän
myönsi että asia niin oli, ja että rankaisutoimenpiteitä tässä vaati
vain poliittinen välttämättömyys. Minä pyysin häntä toimimaan siihen
suuntaan, että ne eivät saisi kovin ankaraa luonnetta.

Täysi-istunnossa lokakuun 19 päivänä laati senaatti, jota siihen oli


kehoitettu, ehdotuksen v. 1903 poisjääneiden asevelvollisten
rankaisemisesta. Siinä huomautettiin m.m. että, jos H.
Majesteettinsa katsoisi tarpeelliseksi, että ankarampiin rangaistuksiin
ryhdyttäisiin kuin edellisenä vuonna, niiden pitäisi kohdistua niihin
asevelvollisiin, joilta korkeamman sivistystasonsa perusteella voitiin
odottaa suurempaa arvostelukykyä ja itsenäisyyttä, siis yliopiston ja
polyteknillisen opiston sekä Evon metsäopiston ja Mustialan
maanviljelysopiston oppilaisiin. Näistä oppilaista etsittäisiin joukko ja
tarkastuksen jälkeen pantaisiin henkikaartin suomalaiseen
tarkkampujapataljoonaan. Muut erotettaisiin vuodeksi mainituista
oppilaitoksista. Kun Danielson kerran kävi kenraalikuvernöörin luona,
tuli tämäkin kysymys puheeksi. Kenraalikuvernööri oli sitä mieltä,
että Suomen kaarti, joka oli yksi H. Majesteettinsa
henkivartiojoukoista, ei sopinut siksi, johon kapinallisia ylioppilaita
liitettäisiin. Sotaministeri oli tahtonut, että kyseessäolevat
nuorukaiset lähetettäisiin kaukaisiin kuvernementteihin, hän,
kenraalikuvernööri oli senvuoksi ehdottanut, että ne sijoitettaisiin
Suomessa oleviin venäläisiin joukkoihin. Danielson huomautti, että
sivistyneet nuoret miehet eivät alistuisi siihen, vaan karkaisivat
maasta kuten monet jo olivat tehneet. Kenraalikuvernööri sanoi
olevansa pakotettu esittämään ehdotuksensa, mutta hän ei tahtoisi
jyrkästi pysyä siinä, jos sijaiskansleri piti sitä sopimattomana (!).
Erottamisrangaistuksesta ei Danielson tahtonut lausua
mielipidettään, se oli kanslerin asia, mutta pakotettuna siihen hän
huomautti, että rangaistus varmaan ei hyödyttäisi mitään. Se
tuottaisi tosin monelle vaikeuksia ja ikävyyksiä, mutta ei saisi ketään
vakuutetuksi siitä, että oli välttämätöntä saapua kutsuntoihin.
Bobrikoff näytti arvelevan, että mahdollisesti vielä tällä kerralla
uhkaus riittäisi (hän tarkoitti ehdotuksensa esittämistä), mutta
seuraavalla kerralla olisi rangaistus pantava täytäntöön.

Ratkaisua odotettaessa pohdittiin ylioppilaspiireissä kysymystä,


kuinka nuorison ja yliopiston opettajien ja johtomiesten tulisi
suhtautua, mahdollisiin kurinpidollisiin rankaisutoimenpiteisiin.
Perustuslaillisten ylioppilasten komitea kääntyi muutamien yliopiston
opettajien puoleen (noin 15:n) pyytäen saada kuulla heidän
mielipiteensä varsinkin siitä joukkoerottamisesta, joka kutsunnoista
poisjääneillä oli odotettavana. Ylioppilaat esittivät pohdittavaksi, eikö
yliopisto nyt ollut tienhaarassa, ja he puolestansa luulivat, että
nuoriso olisi taipuvainen lujaan vastarintaan. Yhteisen kokouksen
jälkeen komitean jäsenten kanssa kokoontuivat mainitut opettajat
yksityiseen kokoukseen, johon minäkin olin kutsuttu.
Erottamiskysymyksestä olivat useimmat sitä mieltä, että jolleivät
täkäläiset yliopiston viranomaiset saisi käskyä rangaista poisjääneitä,
vaan kansleri sen tekisi, niin ei olisi syytä kieltäytyä tottelemasta,
eikä aihetta sen vuoksi saattaa yliopistoa vakaviin selkkauksiin. Kaksi
läsnäolevista oli toista mieltä, siten että heidän mielestään piti
kieltäytyä kaikesta osanotosta sellaisen rangaistuksen
toimeenpanemiseen. Minä esitin ajatukseni suunnilleen näin: Jos
kansleri antaisi täkäläisille yliopistoviranomaisille tehtäväksi rangaista
poisjääneitä, täytyi siitä kieltäytyä, mutta jos erottaminen tuli
kanslerilta, oli yliopistoviranomaisten noudatettava kurinpidollista
säädöstä. Kuitenkin oli tässä vain kysymys rehtorista, sillä muita
yliopistoviranomaisia asian ei tarvinnut koskea. Mikäli toistaiseksi
voin ymmärtää, tulisin minä ilmoittamaan erotetuille ylioppilaille
kanslerin toimenpiteen ja kehoittaisin heitä määräystä noudattamaan
sekä pitäisin huolta siitä, että he eivät saisi yliopiston kansliassa
ilmoittautua lukukaudella läsnäoleviksi. Ei ollut mitään alentavaa
alistua tuomioon, jota itse täydellä syyllä piti vääränä. Poisjääneet
olivat toimineet niinkuin, heidän velvollisuutensa vaati ja he voivat
nyt tyynesti alistua velvollisuudenmukaisen tekonsa seurauksiin.
Mutta jos ylioppilaat niskoittelisivat, ja rehtoria tahdottaisiin pakottaa
ankarampiin toimenpiteisiin, silloin kieltäytyisin enempää kajoamasta
asiaan, koska se olisi minulle vastenmielistä, mutta silloin minun
myöskin täytyisi ensin erota rehtorintoimesta. — Mitä taas tuli
ylioppilaskomitean esittämään kysymykseen, pitikö rangaistujen
kieltäytyä tottelemasta ja olla alistumatta tuomioon, ja selittäisivätkö
toiset ylioppilaat olevansa solidaarisia panemalla toimeen suurlakon
yliopistossa, olivat läsnäolevat sitä mieltä, että yliopiston opettajat
eivät voineet vastata sellaisiin kysymyksiin, mutta neuvottaisiin
ylioppilaita siitä luopumaan, koska heidän velvollisuutensa oli olla
lainkuuliaisia ja koska tämänlaatuisista mielenosoituksista, joihin ei
oltu yksimielisesti ryhdytty, tulisi vain fiasko.

Yliopistonopettajien kannan kysymyksessä esitti Runeberg uudessa


yliopiston opettajien ja ylioppilasten yhteisessä kokouksessa. Asiasta
syntyi keskustelua, mutta se ei johtanut mihinkään uuteen
ehdotukseen. Ylioppilaat koettivat pysytellä periaatteellisella
kannallansa ja näyttivät pettyneiltä sekä viittasivat siihen, että
heidän ja yliopiston opettajien mahdollisesti täytyi kulkea eri teitä.
Heitä kannattivat Ernst Estlander ja T. Homén.
Yllämainitun ylioppilaskomitean kirjelmä yliopiston opettajille oli
tullut Bobrikoffin tietoon. Eräs ylioppilas, joka myöskin itse tuli
luokseni ja kertoi asian, oli lähettänyt yhden kappaleen sitä kirjeessä
eräälle toverille Turkuun. Täällä avattiin kirje postissa ja kirjelmä
takavarikoitiin sekä jätettiin luultavasti santarmeille. Bobrikoff aikoi
tehdä suuren numeron asiasta, mutta erään henkilön, jonka nimeä
minulle ei ole mainittu, mutta jonka luulen olleen prokuraattorin,
onnistui saada Bobrikoff luopumaan aikeestaan. Eräillä virallisilla
päivällisillä kenraalikuvernöörin luona joulukuun alussa, joihin minä
olin kutsuttu, viittasi hän tietävänsä siitä. Hän kysyi minulta, miten
oli ylioppilasten laita, johon minä vastasin, että he olivat jonkun
verran kiihoittuneita odotettavana olevien
asevelvollisuusrangaistusten johdosta. Hän sanoi tietävänsä, että
"kleine Ausschritte vorgekommen sind", johon minä vastasin, että
asia oli järjestetty eikä vaatinut muita toimenpiteitä. Hän lausui
silloin, että heitä ei tällä kertaa sijoitettaisi venäläisiin joukkoihin,
mutta seuraavana vuonna ei mitään armoa annettaisi. Korkeampi
voima piti huolta siitä, että Bobrikoffia "ensi kerralla" ei enää ollut.

Joulukuun 18 päivänä oli sijaiskansleri Pietarissa ja kävi sekä


Oerstrœmin että Plehwen luona. Käynnin tarkoituksena oli etupäässä
saada selville, oliko jotakin tekeillä yliopistoon nähden, sekä
mahdollisesti estää kurinpidolliset toimet. Danielson sai tietää, että
myöskin sotaministeri jo oli luopunut ehdotuksesta, että ylioppilaita
pantaisiin venäläisiin joukkoihin, mutta että käskykirjeessä
nimenomaan ilmoitettaisiin, että näin tehtäisiin seuraavan vuoden
kutsunnasta poisjääneille. Niinkuin meidän kesken oli sovittu, piti
Danielsonin todettuansa, että äskenmainittu jyrkkä toimenpide ei
tulisi kysymykseen, huomauttaa kurinpidollisten rangaistusten
sopimattomuudesta kysymyksessä olevaan tapaukseen ja hän tekikin
sen. Luvattiin ottaa esiintuodut syyt huomioon. Paljon riippui,
arvelivat asianomaiset, H. Majesteettinsa mielentilasta ja tuulesta.
Jos hän olisi hyvällä tuulella, niin Plehwe todennäköisesti ei vaatisi
kurinpidollisia rangaistuksia! Plehwe pyysi Danielsonia puhumaan
tästä kenraalikuvernöörin kanssa, minkä hän kotiin palattuansa
tekikin. Bobrikoff oli sitä mieltä, että rangaistuksia ei voitaisi välttää,
vaan että yhden vuoden erottaminen olisi riittävä, ja silloin kunkin
yksityisen rangaistus sovitettaisiin yliopiston viranomaisten harkinnan
mukaisesti.

Tammikuun alkupäivinä 1904 palasi kenraalikuvernööri käynniltä


Pietarista ja toi sen tiedon, että H. Majesteettinsa oli ratkaissut
kysymyksen asevelvollisuusrangaistuksista. Paitsi muita määräyksiä
säädettiin, että ne ylioppilaat, jotka olivat jääneet pois, erotettaisiin
korkeintaan vuodeksi; kuitenkin saattoivat yliopiston viranomaiset
lieventää rangaistuksia.

Nyt oli minun toimittava määrätyn suunnitelman mukaan.


Suoranainen vastalause itse toimenpidettä vastaan olisi ollut isku
ilmaan. Päämääräksi asetin sen, että tässä asiassa ei pakotettaisi
rehtoria eikä muita yliopistoviranomaisia määräämään itse
rangaistusta, vaan että tämä toimenpide jäisi kanslerille sekä, että
koettaisin johtaa asiaa niin, että karkoituksesta tulisi niin lempeä
kuin mahdollista, mieluimmin aivan mitätön sen käytännöllisiin
seurauksiin nähden. Tätä toivoin niinhyvin ylioppilasten vuoksi kuin
välttääkseni vaikeuksien syntymistä täkäläisille
yliopistoviranomaisille, lähinnä konsistorille, jonka asiaan
sekoittamista pitäisi välttää. Siten voitaisiin asia, niinkuin minusta
näytti, mahdollisesti järjestää niin, ettei vakavampia vaikeuksia
yliopistolle koituisi.
Estääkseni kysymyksen ratkaisua vaikeuttavia määräyksiä
tulemasta kanslerinvirastosta, kirjoitin minä viipymättä Berendtsille ja
huomautin hänelle, että erottamisen tuli tapahtua kanslerin kautta ja
että sitä piti seurata luettelo erotettavista. Rehtori ei voinut mitään
rangaistusta määrätä tässä tapauksessa, kun ei ollut kysymyksessä
mikään rikos, vaan hän saattoi vain panna toimenpiteen täytäntöön.
Kun tästä kuitenkaan ei mitään kuulunut, tulimme sijaiskansleri ja
minä levottomiksi, että asia voi joutua väärälle tolalle, varsinkin kun
eräät yksityiset senaattorit olivat antaneet ymmärtää, että
yliopistoviranomaisten tässä asiassa muitta mutkitta piti noudattaa
käskykirjettä. Minä matkustin sen vuoksi helmikuun 7 päivänä
Pietariin ja sain Berendtsin tavatessani tietää, että
kanslerinvirastossa ei toistaiseksi oltu asialle mitään tehty. Kävin sen
jälkeen Oerstrœmin luona ja huomautin hänelle kuinka
välttämätöntä oli, että karkoituskäsky lähti kanslerilta, ja hän näytti
ymmärtävän syyni sekä lupasi, että niin tapahtuisi. Minä huomautin
edelleen, että erottamisen täytyy kohdata nimitettyjä ylioppilaita,
jotta voisimme ottaa asian huomioon. Mitään luetteloa poisjääneistä
eivät yliopiston viranomaiset voineet antaa. Veisi tietysti jonkun
verran aikaa, ennenkuin siviiliviranomaiset voisivat hankkia sellaisen,
mutta sitä ei voinut auttaa. Oerstrœm antoi viipymättä määräyksen
Berendtsille laatia asiasta kirjelmän kenraalikuvernöörille. Minä
huomautin edelleen keskustelun kuluessa, että ei sijaiskansleri eikä
rehtori voineet puuttua kysymykseen kunkin yksityisen
rangaistusajasta, vaan että yhteinen karkoitus oli kaikille määrättävä.
Jos joku halusi lievennystä, täytyi hänen sitä erityisesti pyytää.

Erottamiskäsky asevelvollisuudesta poisjääneille saapui maaliskuun


puolivälissä polyteknilliseen opistoon. Laitoksen inspehtori (yli-
intendentti Tigerstedt) kehoitti opettajakollegiota antamaan
lausuntonsa rangaistusajasta. Kollegio ehdotti kuutta kuukautta,
maaliskuun 15 päivästä lukien. Tämän johdosta oli polyteknikkojen
yhdistyksellä kokous, jolloin suurin osa oppilaista, noin 80 %, päätti
ilmoittaa inspehtorille, että he eivät nauttisi opetusta, niin kauan kuin
toverit olivat erotettuina. Maaliskuun 19 päivänä alkoi lakko. Vain
muutamia oppilaita oli saapunut laitokselle. Opettajien puolelta oli
koetettu estää lakkoa, mutta tuloksetta. Johtaja, professori Nyström,
oli useampia kertoja neuvotellut minun kanssani asiasta. Esimerkki
vaikutti voimakkaasti ylioppilaihin, jotka myöskin suunnittelivat
samanlaista toimenpidettä, kun yliopiston vuoro tulisi. Toisaalta
koetettiin muutamissa ylioppilaspiireissä, varsinkin
vanhasuomalaisissa, tehdä työtä sellaiseen lakkoon yhtymistä
vastaan. Pidin viisaimpana toistaiseksi pysytellä passiivisena ja
puhuin ainoastaan inspehtorien kanssa asiasta. Samoin päätin minä
koettaa viivyttää asiaa, niin että lukukausi lähestyi loppuansa,
ennenkuin erottamisen toimeenpanon täytyisi tulla kysymykseen,
sillä silloin menettäisi lakko kaiken suuremman käytännöllisen
merkityksen. Vaikka asiallisesti olin täysin yhtä mieltä nuorison
kanssa ja täydellisesti ymmärsin sen tunteet ja halun ilmaista
mielipiteensä, täytyi minun, joka lähinnä olin vastuussa
järjestyksestä ja yliopiston edusta, koettaa estää sellaista
mielenosoitusta ja järjestää niin, ettei siitä koituisi mitään vakavia
seurauksia yliopistolle ja ylioppilaille itselleen. Kävin maaliskuun 25
päivänä senaattori Åkermanin luona (kauppa- ja
teollisuustoimituskunnan päällikön) neuvoakseni häntä olemaan
ryhtymättä mihinkään tutkimuksiin tai ylimääräisiin rangaistustoimiin
lakon johdosta polyteknillisessä opistossa, ja antamaan asian
vapaasti kehittyä, jotta estettäisiin mieliä enempää kiihoittumasta.
Sellaisilla toimenpiteillä olisi epäedullinen vaikutus myöskin
yliopistonuorisoon. Senaattori Åkerman tuntui olevan samaa mieltä.
Lakko loppui itse asiassa sillä tavalla, että opettajakollegio voitiin
pitää siitä syrjässä ja laitos jäi siten rauhaan. Huhtikuun 24 päivänä
sain Oerstrœmiltä sähkösanomakutsun saapua Pietariin. Matkustin
25:ntenä ja kävin Oerstrœmin luona seuraavana päivänä. Hän
ilmoitti, että kenraalikuvernöörin kautta vaadittu luettelo nyt oli
saapunut. Se oli tehty läänittäin kuvernööreiltä saatujen tietojen
mukaan. Oerstrœm pyysi minun käymään luettelon läpi ja
oikaisemaan siinä olevat mahdolliset virheet. Me pohdimme sitten
eräitä erottamista koskevia yksityisseikkoja. Oerstrœm arveli, että
erottamisajan nähtävästi piti olla yhdenmukainen polyteknikumissa
määrätyn ajan kanssa, s.o. se oli määrättävä kuudeksi kuukaudeksi,
minkä minä myönsin olevan johdonmukaisinta. Erottamisajan
alkamiseksi ehdotin toukokuun 11 päivää, mutta se tuntui
Oerstrœmistä liian myöhäiseltä. Kysymys jätettiin avoimeksi. Minä
lausuin sen toivomuksen, että rehtori yksityisissä tapauksissa,
erityisestä pyynnöstä, voisi määrätä jonkun muun kuin yleisesti
säädetyn ajankohdan karkoituksen aluksi, jota vastaan Oerstrœmillä
ei ollut mitään huomauttamista. Senjälkeen huomautin minä hänelle,
että olisi tarpeellista selvittää, sisälsikö erottaminen, kuten opinto- ja
kurinpitosääntö edellytti, karkoituksen kaupungista vai eikö.
Huomautin, että erottaminen polyteknillisestä opistosta ei sisältänyt
karkoitusta kaupungista, ja koska oli ylioppilaita, jotka kuuluivat sekä
yliopistoon että tähän laitokseen, tuottaisi pakollinen kaupungista
karkoittaminen sellaisissa tapauksissa muodottoman asiain tilan.
Helsinki oli myöskin jo niin suuri kaupunki, että rehtorin oli
mahdotonta valvoa olivatko karkoitetut ylioppilaat, joita oli niin suuri
määrä, kaupungissa vai eivätkö. Mitään poliisiviranomaisten tähän
asiaan sekaantumista tai väkivallalla kaupungista siirtämistä minä en
missään tapauksessa suonut. Hallituksen kannalta katsoen ei
myöskään voinut olla viisasta lähettää pääkaupungista maaseudulle
joukko nuoria miehiä, joita siellä epäilemättä pidettäisiin poliittisina
marttyyreinä. Oerstrœm yhtyi minuun, ja yliopistolle lähetettävässä
kirjelmässä lausuttaisiin nimenomaan, että relegatsioni ei merkinnyt
karkoitusta kaupungista.

Kenraalikuvernöörin luettelossa oli 108 nimeä. Sitä läpikäydessä


huomattiin, että noin 30 nimeä oli henkilöiden, jotka eivät olleet
ylioppilaita tai jotka syystä tai toisesta olivat eronneet yliopistosta.
Kun ne luettiin pois, oli luettelossa kaikkiaan 80 nimeä, vaikka
luultavasti kaksi kertaa suurempi määrä oli jäänyt pois. Seuraavana
päivänä annoin luettelon takaisin Oerstrœmille. Minä huomautin
hänelle, että muutamat nykyiset ylioppilaat, jotka olivat luetteloon
otetut, kutsuntojen aikana vielä olivat koulussa. Oerstrœm suostui
siihen, että näidenkin nimet pyyhittiin pois luettelosta. Vihdoin pyysin
minä, että kirjelmää erottamisesta ei lähetettäisi ennen toukokuun 1
päivää, jotta tämän päivän vietto ei tulisi mitenkään häirityksi.
Oerstrœm lupasi, että kirjelmä päivättäisiin huhtikuun 30 päivälle ja
lähetettäisiin toukokuun 2 päivänä.

Samana päivänä kävin myöskin Plehwen luona.


Erottamiskysymykseen hän ei lähemmin puuttunut, kun minä
ilmoitin, että olin jo neuvotellut asiasta Oerstrœmin kanssa. Sitä
vastoin hän kysyi, millä tavalla ylioppilaat tulisivat suhtautumaan
kutsuntoihin tänä keväänä. Sanoin, etten voisi antaa mitään varmoja
tietoja siitä, mutta arvelin, että suurin osa jäisi pois. Keskustelu koski
muuten muita asioita.

Toukokuun 4 päivänä saapui erottamiskirjelmä sijaiskanslerille ja


seuraavana päivänä vastaanotin minä sen virallisesti. Se oli laadittu
sopimuksen mukaisesti. Kansleri oli hyväksi nähnyt karkoittaa joukon
erityisesti mainittuja ylioppilaita yliopiston oppilaitoksista kuudeksi
kuukaudeksi, toukokuun 14 päivästä lukien, kuitenkin niin, että
erottaminen ei merkinnyt karkoitusta kaupungista, ja oli rehtorille
myönnetty yksityisissä tapauksissa määrätä toinen aika erottamisen
alkamiselle. Suurin osa erottamisajasta sattuisi siis loma-ajaksi.

Tämä määräys naulattiin yliopiston ilmoitustaululle sekä kehoitus


niille, joita se koski, saapua yliopiston kansliaan saamaan lähempiä
tietoja. Sitä paitsi kutsuin minä yksitellen muutamia ylioppilaita, joita
karkoitusmääräys koski, kansliaan ja otin heiltä sen tunnustuksen,
että he olivat saaneet tiedon määräyksestä. He näyttivät yleensä
olevan tyytyväisiä siihen, että niin helpolla olivat päässeet asiasta, ja
olivat taipuvaisia alistumaan määräyksiin. Ainoastaan yksi teki
vastaväitteitä ja viittasi siihen, että hän mahdollisesti ei taipuisi
erottamismääräykseen. Muuten lienee tuskin kukaan karkoitetuista
varsinaisesti joutunut asiasta kärsimään, sen vuoksi että seuraavan
syksyn valvonta kohdistui vain viralliseen lukukausi-
ilmoittautumiseen.

Toukokuun 11 päivänä panivat ylioppilaat toimeen mielipiteen


ilmauksen. Konsistorin kokouksen aikana saapui eräs lähetystö
kansliaan, joka pyysi päästä sen puheille. Siihen kuului 7 henkeä,
yksi kustakin osakunnasta. Eräs heistä, maisteri H. Gummerus, luki
minulle osoitetun kirjelmän, jossa suuri joukko ylioppilaita lausui
vastalauseensa erottamisrangaistuksia vastaan ja että ylioppilaat
tunsivat itsensä solidaarisiksi rangaistujen toveriensa kanssa, sekä
ettei rauha palaisi nuorison keskuuteen, ennenkuin
erottamismääräys oli kumottu. He pyysivät, että minä saattaisin
kanslerin tietoon, mitä he siten olivat lausuneet. Minä sanoin
vastaanottavani kirjelmän, mutta että minun täytyi punnita,
esittäisinkö heidän lausuntonsa kanslerille ja missä muodossa sen
tekisin. Lähetystö sanoi, että sillä oli mukanansa kirjelmä myöskin
konsistorille. Minä ilmoitin, että konsistori ei voinut virallisesti ottaa
kirjelmää käsiteltäväksi, mutta minä lupasin kokouksen loputtua
lukea sen sille, jos joku jäsenistä niin halusi, mikä myöskin tapahtui.
Lähetystö ilmoitti esiintyvänsä 250:n ylioppilaan puolesta, jotka olivat
kokoontuneet eteiseen ja käytäviin. Lähetystö ilmoitti heille minun
vastaukseni, mutta he jäivät paikalle siksi kunnes kokous 1 1/2
tuntia myöhemmin päättyi. Kun he olivat saaneet tietää, että
kirjelmä oli luettu, marssivat he pois hiljaa ja rauhallisesti. Minulle
tuli tämä mielenosoitus aivan odottamatta, mutta nähtävästi ei
kaikille konsistorin jäsenille. Kaikille kaupungissa oleville ylioppilaille
oli lähetetty yksityinen kutsu saapua kokoukseen uusmaalaisen
osakunnan talolle, ja sieltä oli lähdetty yliopistolle.

Konsistorin kokouksessa samana päivänä oli vapaaherra Wrede


pöytäkirjaan liittänyt kirjallisen lausunnon erottamisrangaistusten
johdosta, jonka paitsi häntä oli allekirjoittanut 7 konsistorin jäsentä.
Tämä pöytäkirjanliite oli lähimpänä aiheena niihin vaikeuksiin, jotka
kesän kuluessa kohtasivat yliopistoa sen kautta, että muutamia
yliopiston opettajia karkoitettiin maasta, ja jotka muodostavat
erityisen luvun näiden raskaiden aikojen historiassa. Mutta samassa
kokouksessa tehtiin ehdotus toimenpiteeksi konsistorin puolelta,
josta tuloksena sitten oli, että yksimielisesti päätettiin lähettää
kanslerille kirjelmä, joka koski erottamiskysymystä. Asia oli esillä
kokouksissa toukokuun 19 ja 31 päivänä. Ensinmainitussa
tilaisuudessa annoin minä seikkaperäisen selonteon
suhtautumisestani erottamiskysymykseen ja niistä näkökohdista,
jotka olivat olleet pyrintöjeni ohjeina. Virkatoverieni puolelta ei oltu
tehty mitään muistutuksia kantaani vastaan, mutta minä halusin
avonaisella selityksellä estää kaiken väärinkäsityksen. Samalla
tahdoin erikoisesti huomauttaa kuinka arkaluontoinen asemani tähän
asiaan nähden oli, lähinnä siksi, että kanslerinvirasto oli täyttänyt ne
vaatimukset ja toivomukset, jotka olin ilmituonut
erottamispäätöksestä. Tämän vuoksi katsoin oikeimmaksi, — ja siitä
olivat virkatoverit yhtä mieltä kanssani — että en virallisesti ottaisi
osaa asian käsittelyyn. Tavalla tai toisella osoittaisin kuitenkin
solidaarisuuteni konsistorin kanssa. Mielipiteet siitä, kuinka sopiva
keino kirjelmän lähettäminen kanslerille olisi, olivat aluksi erilaisia,
mutta onnistuttiin lopulta saamaan kirjelmälle sellainen muoto, että
konsistori yksimielisesti voi yhtyä siihen. Päätös tapahtui toukokuun
31 päivän kokouksessa ja virallisesti toimi silloin vararehtori, A.
Donner, puheenjohtajana. Konsistorin yksimielistä esiintymistä, jonka
hyväksi minä koetin kaikin tavoin toimia, täytyy minun pitää suurena
voittona silloisissa olosuhteissa. Mielipiteenilmausta, katsoen
vallitsevaan mielialaan, ei voinut välttää. Erimielisyys konsistorin
jäsenten kesken olisi ollut hyvin kiusallinen ja arveluttava ja olisi sillä
ollut kauaskantavia seurauksia opiskelevaan nuorisoon nähden,
johon hajaannus ja vierovan mielen politiikka oli syvälle juurtunut.
Kirjelmä lähetettiin sijaiskanslerille ja sitä seurasi minun rehtorina
kirjoittamani erityinen lausunto, jossa minä vakuutin oikeiksi ne
asiat, jotka konsistori oli tuonut esille, ja yhdyin kirjelmässä
esitettyihin näkökantoihin. Sekä konsistorin että minun kirjelmäni
jätti sijaiskansleri henkilökohtaisesti venäläisenä käännöksenä
Plehwelle, mutta Plehwen toivomuksesta ne otettiin takaisin. Asian
myöhempi kehitys kuuluu toiseen lukuun.

Berendtsille olin kirjeessä ilmoittanut ylioppilasten


mielenosoituksesta toukokuun 11 päivänä sekä selittänyt sitä kantaa,
jota ylioppilaat olivat tahtoneet ilmaista. Minä olin antanut
toimenpiteeni jäädä tähän yksityiseen tiedonantoon, koska asia
virallisen kirjelmän kautta olisi saanut suuremman kantavuuden kuin
toivottavaa oli. Oliko Berendts esittänyt tiedonantoni Plehwelle, siitä
en saanut varmaa tietoa, sillä hän ei kirjoittanut siitä mitään ja jätti
vähän aikaa sen jälkeen Pietarin, mutta asia tuli kyllä — ja
todennäköisesti tätä tietä — Plehwen tietoon. Alkuperäinen
aikomukseni oli kirjoittaa käsikirje Oerstrœmille tästä asiasta, mutta
sain tietää, että hän juuri silloin oli matkalla. Kun Danielson kerran,
kesäkuun 4 päivänä, kävi Bobrikoffin luona, kävi selville, että tämä ei
näyttänyt kiinnittävän suurtakaan huomiota ylioppilasten
mielenosoitukseen, mutta hän oli hyvin ärtynyt siitä, että mainittu
sanelu konsistorin pöytäkirjaan oli tehty. Siitä toisessa yhteydessä.

Selkkaus uusmaalaisen osakunnan kanssa 1903—1904.

Sellaisina levottomuutta täynnä olevina aikoina, jolloin minä hoidin


rehtorintointa, ei rehtorin asema suinkaan ollut helppo, varsinkaan
kun ylhäältä päin asetettiin vaatimuksia ja alhaalta päin nousi
toivomuksia, jotka pohjaltaan olivat mahdottomia yhdistää. Niinhyvin
yksityiset ylioppilaat, joutuessaan vaikeuksiin poliittisista syistä, kuin
akateeminen nuoriso kokonaisuudessaan, olivat lähellä sydäntäni,
mutta ristiriitoja oli mahdoton kokonaan välttää. Yksi vakavimpia
vaikeuksia oli se, mikä syntyi uusmaalaisen osakunnan kanssa
syksyllä 1903 ja keväällä 1904. Alkuperäiset syyt ristiriitaan eivät
itsessään olleet varsin merkittäviä, mutta sen seuraukset tulivat
vakaviksi, mikä ei suinkaan ole harvinainen ilmiö hermostuneina
aikoina.

Ristiriidan aiheena oli kaksi yksityistä tapausta niiden monien


poliittisten selkkausten joukossa viranomaisten kanssa, joita silloin
sattui ja joihin ylioppilaat olivat sekaantuneet. Toinen koski ylioppilas
O. Rosenqvistia, toinen ylioppilas kreivi Creutzia.
Edellisen asia oli sangen yksinkertainen. Rosenqvist [Rosenqvist
tuli sittemmin Helsingin ruotsalaisen kauppaopiston johtajaksi ja
hänet murhattiin punaisessa kapinassa 1918.] oli toukokuussa 1903
vangittu, koska hän oli antanut rahasumman eräälle henkilölle, joka
oli agiteerannut asevelvollisuuskutsuntoja vastaan. Hän oli
poliisitutkinnossa myöntänyt syytöksen oikeaksi. Minun onnistui
kuitenkin saada hänet vapaaksi. Käytyään minun luonani, jolloin hän
kahden kesken uskoi minulle erinäisiä asioita ja sanoi ehdottomasti
haluavansa välttää enempää tutkintoa, katosi hän Helsingistä ja
onnistui pääsemään Ruotsin puolelle. Kansleri, jolle oli ilmoitettu
asiasta, määräsi, että Rosenqvist poistettaisiin ylioppilasmatrikkelista.
Että kansleri tällöin meni yli virkavaltansa, on varmaa, kun ei ollut
olemassa mitään tutkintoa eikä tuomiota, eivätkä
yliopistoviranomaiset olleet esittäneet sellaista toimenpidettä, mutta
minä päätin kuitenkin olla saattamatta aikaan ristiriitaa kanslerin
kanssa, koska asialla tässä tapauksessa ei ollut käytännöllistä
merkitystä. Rosenqvist oli tahallisesti välttänyt saapua
tuomioistuimen eteen. Hän oli lähtenyt Sveitsiin tieteellisiä opintoja
varten eikä palaisi pitkään aikaan kotimaahan, niin että hänelle ei
merkinnyt mitään, oliko hän muodollisesti ylioppilas vai ei. Hän halusi
itse, että sillä hetkellä oltaisiin hiljaa hänestä, ei hänen itsensä
vuoksi, vaan muista syistä. Uusmaalainen osakunta otti kuitenkin
asian käsiteltäväkseen ja pyysi rehtoria ryhtymään toimenpiteisiin
sen "oikeudenloukkauksen" ja vääryyden korjaamiseksi, joka tässä
kohden oli Rosenqvistia vastaan tapahtunut. En kuitenkaan tehnyt
asian hyväksi muuta kuin esitin osakunnan pyynnön sijaiskanslerille.
Siihen asia jäi, siksi kunnes minä syksyllä 1904, kun oli tullut
edullisemmat olot, tein esityksen, että Rosenqvist otettaisiin
uudelleen yliopiston kirjoihin, johon v.t. kansleri suostui. Että ei
mitään tärkeämpää heti oltu tehty uusmaalaisen osakunnan pyynnön
johdosta, tuli tämän keskuudessa syytöksen aiheeksi
yliopistoviranomaisia kohtaan. Rosenqvistin asia kummitteli koko,
syksyn, mutta tyytymättömyys oli rakenteeltaan liian teoreettista
saavuttaaksensa erikoista merkitystä. Rosenqvist itse lausui kirjeessä
kiitollisuutensa minun suhtautumisestani ja toimistani hänen
asiassansa.

Paljoa vakavamman oikeudenloukkauksen sisälsivät toimenpiteet


ylioppilas, kreivi C.G. Creutzia vastaan. Tämä tuli syyskuun 23
päivänä 1903 minun luokseni ja ilmoitti, että hän oli saanut käskyn
seitsemän päivän kuluessa poistua maasta. Hänen isänsä,
maatilanomistaja Pernajassa, oli edellisenä päivänä saanut samoin
kuuluvan käskyn. Mitään muuta syytä karkoitukseensa, kuin että hän
oli isänsä poika, ei nuori kreivi Creutz tietänyt. Isä oli pyytänyt
oikeuden itselleen ja lapsilleen muuttaa maasta, ja tähän
hakemukseen oli H. Majesteettinsa hiljakkoin suostunut.

Minä menin tämän johdosta viipymättä v.t. kuvernöörin,


lääninsihteeri Reinbottin luokse. Hän vakuutti karkoitusmääräyksen
oikeaksi, ja että se oli annettu kenraalikuvernöörin käskystä. Nuoren
Creutzin ilmoitettiin olleen isällensä avullisena poliittisessa
kiihoitustoiminnassa. Minä huomautin, että tällä väitteellä ei voinut
olla mitään merkitystä, koska mies oli vasta 20-vuotias, ja että olisi
kohtuutonta karkoittaa alaikäistä henkilöä. Reinbott näytti
hämmästyvän, kun hän sai kuulla, että Creutz oli niin nuori ja lisäksi
ylioppilas, ja minä sain sen käsityksen, että tässä oli tapahtunut
erehdys. Rehtorina ollen sanoin olevani pakotettu vaatimaan, että
toimenpide peruutettaisiin. Reinbott pyysi minua kääntymään
salaneuvos Deutrichin puoleen, joka hoiti kenraalikuvernöörinvirkaa.
V.t. kansleri Oerstrœm oli silloin kaupungissa ja minä lähetin hänelle
asian johdosta kirjeen, jossa vetosin häneen ja ilmoitin aikomukseni
käydä Deutrichin luona pyytääkseni häntä peruuttamaan
karkoitusmääräyksen tai sallimaan, että sen toimeenpanoa
lykättäisiin, siksi kunnes kansleri olisi antanut määräyksen asiasta.
Vähän sen jälkeen kuin Oerstrœm oli saanut kirjeeni kävi Danielson
hänen luonansa ja puhui samaan suuntaan. Oerstrœm oli hyvin
taipuvainen puhumaan asian hyväksi Deutrichille, ennenkuin hän
saman päivän iltana palaisi Pietariin. Minä menin asemalle
saadakseni Oerstrœmiltä tietää, mitä hän oli voinut tehdä, ja tapasin
sekä hänet että Deutrichin, molemmat jonkun verran iloisella tuulella
senaattorien järjestämän päivällisen jälkeen. Hän sanoi, ettei hän
voinut asialle mitään, koska Creutz oli ollut "innokas agitaattori" eikä
enää ollut Suomen alamainen. Kun minä tein vastaväitteitä
alamaisuusasiaan nähden, selitti Oerstrœm, että senaatin jäsenet
yhtyivät tähän selitykseen. Asian niin ollen ei hän sanonut voivansa
mitään tehdä. Seuraavana päivänä kävin Deutrichin luona, mutta
sain saman tiedon. Hän lupasi kuitenkin kirjoittaa Bobrikoffille, mutta
hän ei voisi saada vastausta ennen sitä päivää, jolloin Creutzin piti
lähteä. Minä ehdotin sähkösanomaa, mutta Deutrich koetti estää
sitä. Hän ryömi muuten koko ajan Bobrikofiin selän taakse.

Iltapäivällä sain kreivi Creutzilta jäljennöksen


karkoitusmääräyksestä, jossa hänen sanotaan olevan "vahingollinen
maan valtiolliselle järjestykselle ja yleiselle rauhalle". Karkoitukseen
nähden vedottiin erääseen toukokuun 26 päivänä 1903 annetun
asetuksen pykälään, joka koski "muukalaisten karkoittamista Venäjän
valtakunnan alueelta". Kävi selvästi esille keskustelusta Deutrichin
kanssa, että oli tahdottu kostaa kreivi Creutzille ja hänen
perheellensä, koska hän tahtoi muuttaa maasta ja siten saada
lapsensa vapaiksi asevelvollisuudesta tekemällä heistä Ruotsin
alamaisia.
Käännyin sitten senaattori Enebergin puoleen, johon Oerstrœm oli
vedonnut, kysymyksellä, kuinka Creutzin alamaisuuden laita oli. Hän
selitti, että tämän Suomen alamaisuus ei suinkaan ollut lakannut sen
kautta, että hän oli saanut luvan muuttaa maasta. H. Majesteettinsa
päätöksessä oli nimenomaan, että Creutzin on "kolmen kuukauden
kuluessa tästä tiedon saatuansa, jos hän tahtoo tätä etua
hyväksensä käyttää, muutettava Suomesta, saaden vapautuksen
alamaisuuden velvollisuuksistansa". Oli siis selvää, että
karkoittaminen oli tehty kokonaan väärillä edellytyksillä. Minusta
tuntui kuitenkin turhalta uudelleen käydä Deutrichin luona. Creutzin
pakollista matkaa, jonka piti tapahtua syyskuun 26 päivänä, ei
kuitenkaan oltu saatu peruutetuksi. Sitävastoin katsoin, että minun
täytyi selvittää v.t. kuvernöörille, että oli tapahtunut erehdys, kun
Creutzia ei oltu pidetty Suomen kansalaisena. Reinbott näytti olevan
hämillään. Kuinka kevytmielisesti käsiteltiin lakia ja oikeutta, käy
selville tämän, lääninsihteerin lausunnosta minulle, että erehdys
helposti voitaisiin korjata siten, että karkoitusmääräykseen
muutettaisiin asetus ja pykälä!

Syyskuun 25 päivänä oli uusmaalaisella osakunnalla ylimääräinen


kokous, jossa karkoitusta pohdittiin ja osakunta sai kuraattorin
kautta tiedonannon siitä, mitä asiassa oli tehty. Osakunta päätti
kirjeellisesti minulta pyytää, että ryhtyisin toimenpiteisiin
karkoitusmääräyksen peruuttamiseksi ja asian ajamiseksi. Kirjelmän
jätti minulle seuraavana aamuna 8-miehinen lähetystö, jota
kuraattori johti. Kirjelmässä sanottiin toimenpiteen Creutzia vastaan
olevan "ei ainoastaan oikeuden ja ihmisyyden kieltämistä, vaan
myöskin ylioppilasten tulevan kansalaisoikeuden polkemista". "Se
hämmennys ja levottomuus, joka on vallannut mielet uusmaalaisessa
osakunnassa, ei tule", sanottiin kirjelmässä, "häviämään, ennenkuin
vallalla oleva oikeusturvattomuuden tunne on poistettu". Minä
sanoin, että tämä asia oli hämmästyttänyt minua yhtä paljon kuin
nuorisoakin, ja että aioin edelleenkin tehdä, mitä minun voimassani
oli.

Syyskuun 29 päivänä lähetin asiasta kirjelmän sijaiskanslerille.


Mainitsin siinä, että turhaan olin vedonnut v.t. kuvernööriin ja v.t.
kenraalikuvernööriin ja tein selväksi, että Creutz edelleen oli Suomen
alamainen ja että hänen siten pitäisi olla maan lain ja viranomaisten
suojassa. Mitä siihen todistettuun väitteeseen tulee, että Creutz olisi
harjoittanut poliittisesti kiihoittavaa toimintaa, huomautin minä, että
hän ei ollut vielä täysi-ikäinen, ja että hänellä, luotettavien
todistusten mukaan, ei ollenkaan ollut sitä luonnonlaatua ja niitä
ominaisuuksia, jotka edes olisivat tehneet otaksuttavaksi, että hän
olisi voinut tehdä jotakin sellaista, joka voisi vahingoittaa maan
valtiollista järjestystä ja yleistä rauhaa. Mutta siviilihallinnon
määräyksestä, joka perustui siihen väärään käsitykseen, että hän oli
vieras tässä maassa, oli häneltä riistetty se turva, jota hänen
opiskelevana oli oikeus nauttia, ja hänet oli väkivaltaisesti pakotettu
keskeyttämään opintonsa. Kirjelmässä mainittiin ylioppilasten
vetoaminen minuun, jonka yhteydessä lausuin: "Minä ymmärrän
täysin sen levottomuuden, joka vallitsee nuorison mielissä tämän
tapauksen johdosta, ja minun on pakko ajatella niin, että sen
keskuudessa yhä leviävä oikeusturvattomuuden tunne todellisena
vaarana uhkaa laillisen järjestyksen häiritsemätöntä ylläpitoa
yliopistossa." Velvollisuuteni mukaan vetosin kansleriin ja pyysin,
että kyseessäoleva määräys kumottaisiin ja että Creutz siten
esteettömästi saisi harjoittaa opintoja yliopistossa, johon hänellä oli
sama oikeus kuin jokaisella muulla ylioppilaalla, ainakin siksi kunnes
hän oli lakannut olemasta Suomen alamainen. "Sellainen toimenpide
kanslerin puolelta", sanottiin kirjelmässä, "ei ainoastaan poistaisi sitä
vääryyttä, joka oli kohdannut yksityistä ylioppilasta, vaan myöskin
akateeminen nuoriso tulisi huomaamaan, että se edelleen niinkuin
tähänkin asti voi yliopiston viranomaisilta odottaa saavansa
oikeudellista turvaa ja apua". Sijaiskansleri lähetti kirjelmän
kanslerille, ja sitä seurasi hänen oma, samaan suuntaan menevä
lausuntonsa.

Lokakuun alussa jätti minulle ylioppilaskunnan puheenjohtaja 359


jäsenen allekirjoittaman pyynnön, että ylioppilaskunta kutsuttaisiin
kokoon keskustelemaan niihin toimenpiteisiin mahdollisesti olisi
ryhdyttävä sen johdosta, että yksi sen jäsenistä oli karkoitettu
maasta. Mielipiteeni oli se, että minun täytyi hylätä tämä pyyntö, niin
hyvin muodollisista syistä kuin siksi, että yliopistoviranomaiset
Helsingissä jo olivat ryhtyneet kaikkiin niihin toimenpiteisiin, jotka
voivat tulla kysymykseen, ja koska niiden vaikutusta pikemmin olisi
vahingoittanut kuin hyödyttänyt ylioppilaskunnan kollektiivinen
esiintyminen. Mutta koska pyynnön oli esittänyt hyvin suuri osa
ylioppilaskunnan jäseniä, tuntui minusta sopivalta, että
ylioppilaskunta kutsuttaisiin kokoon saamaan tiedon siitä, mitä
asiassa oli tehty. Kokous oli lokakuun 12 päivänä, jolloin
puheenjohtaja luki kirjoittamani kirjelmän. Siinä tehtiin selkoa siitä
mitä oli tehty ja tehtiin selväksi, miksi asiaa ei mielestäni pitäisi
käsitellä yleisessä ylioppilaskokouksessa. Kokouksen meno oli
rauhallinen, vaikka mieliala vasemmalla sivustalla, puheenjohtajan
ilmoituksen mukaan, oli jonkun verran hermostunut. Tälle
kohdistettuun kysymykseen, oliko ja millä tavalla, hän tehnyt
vastaväitteitä kieltoni perusteluja vastaan, ei vastattu, ja kokous
hajoitettiin ilman että keskustelua asiasta oli tapahtunut.

Danielson oli kuitenkin Oerstrœmiltä saanut sen tiedonannon, ettei


tämä tahtonut sekaantua Creutzin asiaan, koska
kenraalikuvernöörillä oli "oikeus karkoittaa maasta niin hyvin
suomalaisia kuin ulkomaalaisia". Ainoa muodottomuus, jonka
arveltiin asiassa tapahtuneen, oli se, että rehtorille ei oltu tehty
virallista ilmoitusta asiasta, mikä laiminlyönti samalla kertaa post
festum korjattiin. Karkoittamiskysymyksessä ei siis enää mitään voitu
tehdä.

Lokakuun 24 päivänä tuli aivan odottamatta sijaiskanslerille


kirjelmä kanslerilta siitä, että hän "kenraalikuvernööriltä saapuneen
ilmoituksen mukaisesti ylioppilas, kreivi Creutzin sangen
moitittavasta käyttäytymisestä Pernajan pitäjässä ja nojautuen
kaikkien korkeimpaan valtuutukseen oli huomannut hänen hoitoonsa
uskotun yliopiston arvon vaativan", että Creutz erotettaisiin
yliopistosta. Ei ollut mitään syytä salata asiaa. Se tuli sen vuoksi pian
tunnetuksi ja herätti paljon katkeraa mielipahaa, erittäinkin
uusmaalaisessa osakunnassa. Neuvoteltuani sijaiskanslerin kanssa
päätin minä tämän määräyksen johdosta lähettää hänelle kirjelmän
kanslerille edelleen toimitettavaksi.

Kanslerin määräys oli pahentanut asiaa ja saattanut rehtorin


kiusalliseen asemaan. Kenraalikuvernööri tahtoi ilmeisesti saada
aikaan selkkauksen yliopiston kanssa tai sen piirissä. Kirjelmäni oli
senvuoksi sangen ankara. Siinä huomautettiin, että toimenpide
sisälsi loukkaavan vääryyden Creutzia kohtaan ja että sitä ei voitu
nuorisolle selittää, vielä vähemmän puolustaa. Sijaiskansleri matkusti
Pietariin ja vei mukanaan kirjelmän saksalaisena käännöksenä. Hän
jätti sen Oerstrœmille, joka tarkkaavasti luki sen. Danielson selitti
asiaa lähemmin ja huomautti, että Creutz tämän toimenpiteen kautta
oli joutunut kärsimään uuden ja entistä ankaramman rangaistuksen.
Oerstrœm vastasi, ettei se ollut tarkoitus, ja suostui siihen, että
entinen kirjelmä peruutettaisiin ja sen sijaan kirjoitettaisiin uusi. Pari
päivää myöhemmin saapui tämä uusi kirjelmä, joka kuului
seuraavasti: "Sitten kuin H. Ylh. Suomen kenraalikuvernööri hänelle
kaikkein armollisimmasti suodun väliaikaisen vallan nojalla on
karkoittanut K.A. Yliopiston oppilaan, C.G. Creutzin, olen minä
nähnyt asiaan kuuluvaksi, että mainittu Creutz pyyhitään yliopiston
matrikkelista, josta, j.n.e." Edellinen kirjelmä, johon virallisesti emme
olleet puuttuneet, peruutettiin. Tällä oli voitettu ainakin se, että se
mikä Creutzin erottamistoimenpiteessä oli ollut kiusallista, oli poissa.
Se ei enää luonteeltaan ollut rangaistustoimenpide, vaan ainoastaan
johdonmukainen seuraus siitä, että hän häikäilemättömästi oli
maasta karkoitettu. Koko tämä asian vaihe merkitsi kanslerin
peräytymistä. Eräillä tahoilla — missä pääasiana pidettiin sitä
muodollista laittomuutta, joka tapahtui siinä että Creutzin nimi
poistettaisiin yliopiston matrikkelista — ei kuitenkaan tahdottu
tunnustaa, että kanslerin uusi määräys oli mikään voitto.

Uusmaalaisen osakunnan kuraattori ei ollut odottanut virallista


ilmoitusta rehtorilta Creutzin erottamisesta yliopistosta, vaan oli
ensimmäisen kirjelmän johdosta ottanut kysymyksen esille
osakunnassa, joka päätti lähettää asiasta kirjelmän rehtorille. Se tuli
minulle lokakuun 30 päivänä ja sisälsi ojentelevan esityksen siitä,
miten yliopiston täkäläisten viranomaisten pitäisi suhtautua
vallitsevaan sortojärjestelmään, sekä lausui sen toivomuksen, "että
yliopistoviranomaiset, jos he, antamatta yliopistolle mahdollisesti
koituvain seurausten ratkaisevasti vaikuttaa menettelyynsä,
kieltäytyvät millään tavalla olemasta mukana ylioppilas Creutzin
rankaisemisessa, tässä asiassa voivat olla vakuutettuja uusmaalaisen
osakunnan täydestä myötätunnosta". Mietittyäni asiaa päätin minä
lähettää kirjelmän takaisin osakunnalle, ja kirjoitin samalla yksityisen
kirjeen kuraattori Estlanderille, jossa lausuin, että minä ainoastaan
siten, etten virallisesti puuttunut kirjelmään, voin pelastaa
osakunnan ajattelemattomuudesta johtuneen toimenpiteen
seurauksista. Minä huomautin, ettei ollut sopivaa, että
ylioppilasosakunta siten ryhtyi arvostelemaan rehtorin ja
sijaiskanslerin suhtautumista ylemmän viranomaisen määräykseen.

Samalla kertaa kuin uusmaalaisessa osakunnassa päätettiin


kääntyä rehtorin puoleen, päätettiin myöskin lähettää kirjelmä muille
osakunnille, jossa selostettiin Rosenqvistin ja Creutzin tapaukset ja
lausuttiin samaa kuin minulle osoitetussa kirjelmässä. Muille
osakunnille annettiin se kehoitus että, jos ne "yhtyivät siihen
ajatukseen, joka oli määrännyt uusmaalaisen osakunnan;
toimintatavan, ne saattaisivat tämän käsityksensä
yliopistoviranomaisten tietoon". Kaksi osakuntaa, savo-karjalainen ja
pohjalainen, ottivat kysymyksen käsiteltäväksi, ennenkuin minä sain
tiedon asiasta. Muiden osakuntien inspehtoreja kehoitettiin pitämään
huolta siitä, että asiaa ei otettaisi viralliseen käsittelyyn pöytäkirjaan
merkittäväksi, ja niin tehtiinkin. Ei myöskään kahden ensinmainitun
osakunnan pöytäkirjaan otettu uusmaalaisen osakunnan kehoitusta.
Pohjalainen osakunta päätti, senjälkeen kuin se minulta oli saanut
täydellisen selonteon niistä tapauksista, joihin uusmaalaisen
osakunnan kirjelmässä vedottiin, lähettää kirjelmän takaisin
uusmaalaiselle osakunnalle ja sen sijaan kääntyä rehtorin puoleen ja
lausua osakunnan huolen niitä uhkaavista kurinpitorangaistuksista,
jotka olivat jääneet pois kutsunnoista.

Uusmaalaisessa osakunnassa herätti minun asiaan puuttumiseni


pitkän keskustelun. Estlander poistui, koska minä olin tehnyt hänet
vastuunalaiseksi toimenpiteestä. Inspehtori, professori Chydenius,
antoi, sen mukaan kuin hän minulle ilmoitti, ankaran nuhteen
osakunnalle ja koetti tehdä selväksi, että se oli mennyt
toimintavaltansa yli. Osa jäsenistä tahtoi, että osakunta vastaisi
jokaisesta kirjelmän sanasta ja pysyisi päätöksessään. Toiset
arvelivat, että osakunta oli menetellyt ajattelemattomasti ja että sen
avoimesti pitäisi se tunnustaa, toiset taas, että rehtori oli
väärinkäsittänyt kirjelmän, koska osakunta vain oli tahtonut viitata
siihen, että, jos yliopistoviranomaiset katsoivat sen ajan tulleen,
jolloin yliopisto saattoi antautua seurauksiltaan vakaviinkin
taisteluihin, niin he voisivat odottaa saavansa osakunnan
kannatuksen puolellensa. Valittiin toimikunta, ja kysymys otettiin
käsiteltäväksi seuraavassa kokouksessa. Pitkien keskustelujen
jälkeen päätti osakunta inspehtorinsa kautta antaa minulle
selityksensä, että oli tapahtunut väärinkäsitys, että osakunta "ei ollut
tahtonut lausunnollaan vaikuttaa mitään rehtorin virkatoimiin, joiden
määrääjänä se oli tiennyt jokaisessa tapauksessa olleen ainoastaan
Herra Rehtorin omantunnon ja hänen oman käsityksensä
virkavelvollisuudestansa", vaan oli tahtonut esille tuoda, "mitkä
ajatukset ja tunteet uusmaalaisen opiskelevan nuorison keskuudessa
tähän kysymykseen nähden olivat vallinneet, sekä ennen kaikkea,
että tämän nuorison toivo oli se, että ne seikat, jotka saattoivat
uhata sen rauhallista yliopistollista opiskelua ja esiintyä civis Creutzin
asiaa järjestettäessä tahi muita samantapaisia tulevaisuudessa, eivät
millään ratkaisevalla tavalla pääsisi vaikuttamaan
yliopistoviranomaisten toimiin". Minä sanoin olevani tyytyväinen
tähän selitykseen. Se osoitti osakunnan hyvää tahtoa järjestää
ajattelemattoman teon seuraukset. Tällaisissa tapauksissa ei voinut
vaatia liian paljon nuorisolta, varsinkin kun, kuten tässä tapauksessa,
täytyi tuntea kunnioitusta ja myötätuntoa sen esiintymisen
perusmotiivia kohtaan. Minä olin toivonut, että asia tähän loppuisi,
mutta niin ei ikävä kyllä käynyt.

Sen mukaan kuin Danielson marraskuun lopulla oli saanut tietää,


olivat osakuntien toimenpiteet Creutzin asiassa tulleet
kenraalikuvernöörin tietoon, ja tämä aikoi tehdä siitä suuren asian
yliopistoa vastaan, mikä luultavasti alun pitäen oli kuulunut hänen
tarkoituksiinsa. Hän katsoi saaneensa uuden todistuksen siitä, että
osakunnat, joihin hän lähinnä tahtoi päästä käsiksi, olivat valtiollisia
seuroja, jotka olivat yliopistoviranomaisten suojeluksen alaisia.
Kenraalikuvernöörin välitön sekaantuminen estettiin, mutta
Danielsonin mielipide oli, että asiaa näissä olosuhteissa ei voitu
muitta mutkitta sivuuttaa, ja hän vaati minulta lähempää selontekoa
siitä, mitä oli tapahtunut. Neuvoteltuani inspehtorien kanssa lähetin
minä seikkaperäisen selonteon sekä sen mukana uusmaalaisen
osakunnan inspehtorilta minulle tulleen kirjelmän sekä jäljennöksen
muille osakunnille osoitetusta kirjelmästä. Yksityisesti kehoitin minä
sijaiskansleria, ettei hän tapahtuman johdosta ryhtyisi toimenpiteisiin
kuraattori Estlanderia tai uusmaalaista osakuntaa vastaan. Jos hän
jotakin tekisi, saattaisi se vain uudelleen tunteet kuohuksiin. Hän
taipuikin siihen, mutta päätti kuitenkin itse puhua Estlanderin kanssa
asiasta. Tämä keskustelu oli, niinkuin minä pelkäsin, uusien
selkkausten alkuna.

Keskustelu oli tammikuun 22 päivänä 1904, ja sijaiskanslerin


tarkoituksena oli siten saada kyseessäoleva asia lopullisesti
päättymään. Danielson oli toivonut Estlanderin myöntävän, että
osakunnan esiintyminen oli ollut muodotonta, ja että hän lupaisi
pitää huolta siitä, että vastedes sellaista vältettäisiin. Kun Danielson
kysyi, kieltäytyi kuitenkin Estlander antamasta suullista vastausta tai
ryhtymästä mihinkään suulliseen selontekoon, ja sitäkin vähemmän
sitoutumasta mihinkään vastaisuuden varalta. Asian niin ollen katsoi
Danielson olevansa pakotettu keskeyttämään keskustelun ja
kehoittamaan Estlander ja seuraavan päivän kuluessa jättämään
eronpyyntönsä kuraattorintoimesta. Muussa tapauksessa katsoi
sijaiskansleri olevansa pakotettu ryhtymään toimenpiteisiin hänen
erottamisekseen.
Minä kutsuin Estlanderin luokseni seuraavana päivänä ja
keskustelin pitkästi hänen kanssaan toivoen voivani taivuttaa häntä
sovinnolliseen selvittelyyn, mutta hän ei voinut ymmärtää, että
hänen esiintymistänsä vastaan sijaiskansleria kohtaan olisi mitään
muistutettavaa, eikä hän myöskään tahtonut suostua pyytämään
eroa kuraattorintoimesta. Wrede, jonka kanssa olin neuvotellut,
kirjoitti minulle ja pyysi minua koettamaan taivuttaa Danielsonia
siihen, että hän antaisi syyttää Estlanderia konsistorin edessä
mieluummin kuin että itse erottaisi hänet, lähinnä ajatellen sitä, millä
tavalla nuoriso suhtautuisi asiaan. Illalla oli sijaiskanslerilla
neuvottelu minun ja inspehtori Chydeniuksen kanssa. Asian
jättäminen konsistorin käsiteltäväksi oli kysymyksen alaisena, mutta
minä puolestani en voinut ehdottomasti olla asian puolella, koska
sellaisesta oikeusjutusta, joka täytyi pitää avoimin ovin, julkisuuteen
tulisi seikkoja ja asianhaaroja, jotka saattoivat käydä arveluttaviksi
osakuntalaitokselle ja yliopistolle. Eivät kenraalikuvernööri eikä
kansleri olisi voineet pysytellä toimettomina. Sijaiskansleri suostui
kuitenkin siihen, että Estlanderille vielä annettaisiin tilaisuus antaa
tarvittavia selityksiä, ennenkuin mihinkään ryhdyttäisiin.

Tämä jätti Chydeniukselle kirjelmän, joka sisälsi jonkunlaisen


selityksen niistä kysymyksistä, joihin hän oli kieltäytynyt vastaamasta
sijaiskanslerille, sekä antoi samalla Chydeniukselle luvan käyttää
kirjelmää niinkuin hän hyväksi näki. Chydenius lähetti kirjelmän
sijaiskanslerille, joka kuitenkin oli sitä mieltä, että Estlander sen
kautta vain oli pahentanut asemaansa. Tammikuun 25 päivänä tuli
sijaiskanslerilta kirje, jossa sanottiin, että hän "oli katsonut
tarpeelliseksi, että Estlander pidätettäisiin kuraattorintoimesta
toistaiseksi ja kunnes siitä toisin voitaisiin määrätä". Samalla
kehoitettiin minua ryhtymään tästä johtuviin toimenpiteisiin. Minä
ilmoitin virallisesti asiasta osakunnalle ja määräsin fil. kand. R.
Furuhjelmin väliaikaisesti ottamaan haltuunsa kuraattorin toimet.
Chydenius lupasi olla läsnä osakunnan kokouksessa samana iltana ja
pitää huolta siitä, että kaikki sujuisi rauhallisesti, vaikka hän oli
vakuutettu siitä, että katkeroituminen sijaiskansleria kohtaan oli
suuri. Osakunta päätti esittää minulle pyynnön, että minä pyytäisin
sijaiskanslerilta selitystä niistä syistä, jotka olivat aiheuttaneet hänen
toimenpiteensä.

Minä kävin tässä tarkoituksessa sijaiskanslerin luona, joka lupasi


seikkaperäisesti perustella, missä suhteessa hän oli katsonut
Estlanderin tehneen itsensä syypääksi saamaan nuhteen. Jotta asia
sujuisi rauhallisemmin, päätti hän, ettei hän erottaisi Estlanderia,
vaan pidättäisi hänet virantoimituksesta. Helmikuun 1 päivänä sain
sijaiskanslerin kirjelmän siitä, että kuraattori oli pidätetty
virantoimituksesta kolmeksi kuukaudeksi. Kirjelmässä selostettiin
seikkaperäisesti uusmaalaisen osakunnan ja Estlanderin toimintaa.
Toisille osakunnille lähetetty kirjelmä leimattiin yritykseksi "kiihoittaa
niitä tottelemattomuuteen v.t. kanslerin mahdollisia käskyjä
vastaan". Ottaen huomioon sen, että osakunta oli "esittänyt
anteeksipyynnön" rehtorille, ei sijaiskansleri tahtonut toimeenpanna
mitään tutkintoa asiassa. Kun sijaiskanslerin kirjelmä luettiin
osakunnan kokouksessa helmikuun 2 päivänä, jätti Estlander
kirjallisen lausunnon, joka koski eräitä kirjelmän kohtia, sekä luopui
kuraattorintoimesta. Osakunnan keskuudessa pääsi se käsitys
yleisesti vallalle, että se ei valitsisi v.t. kuraattoria, koska se sellaisen
vaalin kautta näytti tunnustavan oikeaksi sijaiskanslerin menettelyn.
Chydenius koetti kokouksessa selvittää käsitteitä, mutta hän sai sen
vaikutelman, että tahdottiin saada vaikea tilanne kärjistymään.

Asia pantiin pöydälle, mutta sitä seuraavassa kokouksessa


helmikuun 9 päivänä päätti osakunta olla valitsematta v.t.
kuraattoria. Osakunta katsoi että sillä vain oli oikeus mutta ei
velvollisuutta vaaliin. Osa kysymyksen käsittelyä varten asetetun
toimikunnan jäsenistä oli neuvotellut Wreden kanssa ja hän oli aivan
ehdottomasti neuvonut osakuntaa alistumaan ja ryhtymään vaaliin.
Inspehtorikin oli antanut samanlaisia kehoituksia, mutta turhaan. 12
päivänä sain Chydeniukselta kirjelmän osakunnan päätöksestä, sekä
sen tiedonannon, että hän inspehtorina ei ollut siihen yhtynyt. Hän
liitti mukaan myöskin sanotussa tilaisuudessa sanelemansa
lausunnon, jossa hän muun muassa sanoi, että osakunta ei laillisesti
saattaisi toimia ilman kuraattoria, sillä aikaa kuin Estlander oli
virantoimesta pidätettynä. Jos ei seuraavan kokouksen aikana
asianmukaisella tavalla toimeen määrätty henkilö olisi hoitamassa
kuraattorin tehtäviä, niin hänen mielestänsä oli pakko toistaiseksi
lakata inspehtorin toimestansa, josta myöskin olisi seurauksena se,
että osakunnan toiminta lakkaisi. Sitten kuin päätös oli tehty, oli
inspehtori pöytäkirjaan lausunut valittelunsa siitä, että osakunta oli
"laiminlyönyt sille kuuluvan kalliin oikeuden".

Neuvoteltuani inspehtorin kanssa määräsin minä heti osakunnan


entisen sihteerin, fil. kand. Eirik Hornborgin olemaan v.t. kuraattorina
huhtikuun 25 päivään saakka. Tämä kuitenkin ilmoitti kirjeessä, että
hän ei voinut ottaa vastaan tehtävää, "koska hän ei silloisten olojen
vallitessa voinut saada osaksensa sitä luottamusta, jota ilman
kuraattorintoimen hoitaminen oli aivan mahdotonta", jonka vuoksi
hän pyysi päästä vapaaksi tehtävästä. Minä kutsuin hänet luokseni ja
huomautin, että hän ei ollut esilletuonut muita syitä
vapauttamiseksensa kuin sellaisia, joita kuka jäsen tahansa saattoi
esittää. Hän ymmärsi tämän täydellisesti ja tunnusti, että hänen
velvollisuutensa oli ottaa vastaan kuraattorintoimi, mutta että
solidaarisuus hänen toveriensa kanssa pakotti häntä kieltäytymään.
Hän aikoi kuitenkin alistaa asian toveripiirin harkittavaksi. Helmikuun
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!

textbookfull.com

You might also like