Web Development With Java Using Hibernate Jsps And Servlets Tim Downey
Web Development With Java Using Hibernate Jsps And Servlets Tim Downey
Web Development With Java Using Hibernate Jsps And Servlets Tim Downey
This document discusses SOAP web services. It begins with an introduction to web services, XML, and SOAP. SOAP is an XML-based protocol that allows for machine-readable documents to be passed over multiple connection protocols to create a distributed system. The document then discusses alternative distributed systems like CORBA, Java RMI, and XML-RPC. It analyzes the advantages and disadvantages of the SOAP protocol. It also covers service description using WSDL, service discovery including UDDI, and describes an MSc project that implements a SOAP web service for a BibTeX database.
Webapp2 is a lightweight Python web framework that enhances the capabilities of the original webapp framework, particularly in URI routing, exception handling, and response management. It can be used both within Google App Engine and independently in other environments, incorporating various utilities from the webapp2_extras package such as sessions and localization features. The documentation includes quick start guides and tutorials for creating applications, performing unit testing, and internationalization, as well as an API reference.
This document provides a summary of the key points from the document "Consumer-Centric API Design".
1. The document discusses best practices for designing APIs that are consumer-centric and easy for developers to use. It emphasizes data abstraction, using common HTTP methods and patterns, and focusing on the needs of API consumers.
2. The author advocates designing APIs around core CRUD concepts to abstract complex business logic and data structures. Real-world examples show both good and bad approaches to data abstraction.
3. Additional chapters will cover topics like HTTP requests and responses, API versioning, authentication, permissions, documentation and testing. The goal is for readers to understand how to build APIs that third-party developers will enjoy
Thesis - Nora Szepes - Design and Implementation of an Educational Support Sy...Nóra Szepes
This document describes the design and implementation of a new educational support system portal and thin client. It discusses the specification phase where user requirements were gathered. The Mithril JavaScript framework was chosen for implementing the student client module. The design follows a Model-View-Controller pattern. Testing was done using Cucumber, Zombie and Istanbul to validate the design and implementation.
This document provides a guide to configuring the Apache web server. It begins with basic setup instructions, covering verifying the installation, editing configuration files, creating HTML documents, starting the server, and accessing the server locally and externally. It then covers more advanced topics like using directory, files, and location tags; redirecting URLs; setting up virtual hosts; loading modules; using .htaccess files; and securing the server with encrypted sessions and SSL/TLS certificates. The document is intended to help new Linux and Windows users become proficient with Apache.
This document provides a guide to configuring the Apache web server. It begins with basic setup instructions, covering verifying the installation, editing configuration files, creating HTML documents, starting the server, and accessing the website locally and externally. It then covers more advanced topics like using directory, files, and location tags; redirecting URLs; setting up virtual hosts; loading modules; using .htaccess files; and securing the server with encrypted sessions and SSL/TLS certificates. The document is intended to help new Linux and Windows users become proficient with Apache.
This document is an industrial training report submitted by Deshapriya A.G.S. for their internship at Mobitel (Pvt) Ltd from January 4th to March 25th 2016. Mobitel is the largest telecommunications company in Sri Lanka that specializes in mobile services. The report describes Mobitel's background, services, organizational structure, technical details of projects worked on during the internship, software development processes, and a conclusion on the experience and knowledge gained.
The document outlines the final project for the Digital Content Retrieval course at Pavia University, detailing the development of a personal website and video curriculum by Seyedkourosh Sajjadi under the guidance of Professor Maria Grazia Albanesi. It covers the tools, technologies, project management strategies, and optimization techniques used to ensure high-quality deliverables, including the website's responsive design and the video curriculum hosted on Vimeo. The project aims to creatively present Sajjadi's resume to enhance recruitment opportunities in software development or data science internships.
Research: Developing an Interactive Web Information Retrieval and Visualizati...Roman Atachiants
The document describes developing an interactive web information retrieval and visualization system. The system aims to make information searching and presentation easier and more efficient. It does this through speech recognition, keyword extraction from text, query construction and expansion using concepts, filtering and summarizing search results, and visualization. The system architecture includes these main components and was tested with satisfactory results. However, some challenges remain in creating a smooth presentation experience.
Instant download Developing Backbone js Applications Addy Osmani pdf all chapterdinetvenitja
Download Developing Backbone js Applications Addy Osmani instantly post-payment at https://ebookultra.com/download/developing-backbone-js-applications-addy-osmani. More textbooks and ebooks available in https://ebookultra.com Get PDF of full chapter.
This document summarizes a master's thesis about making web services mobile friendly. It discusses two open source software programs, Gallery and LiveJournal, that were modified to recognize mobile devices and present content appropriately for smaller screens and bandwidth limitations. User agent strings are used to identify mobile browsers. Layouts, images, and features were adjusted in both programs to improve the mobile experience. The modified software was released publicly and some changes were incorporated into official Gallery releases.
This document is the preface to the book "Python for Informatics: Remixing an Open Book". It discusses how the book was created by modifying the open source book "Think Python" by Allen B. Downey to have a stronger focus on data analysis and exploring information using Python. Key changes included replacing number examples with data examples, reorganizing topics to get to data analysis quicker, and adding new chapters on data-related Python topics like regular expressions, web scraping, and databases. The goal was to produce a text suitable for a first technology course with an informatics rather than computer science focus.
This document provides information about the book "Python for Informatics: Exploring Information". It was originally based on the book "Think Python: How to Think Like a Computer Scientist" by Allen B. Downey but has been significantly revised by Charles Severance to focus on using Python for data analysis and exploring information. The revisions include replacing code examples and exercises with data-oriented problems, reorganizing some topics, and adding new chapters on real-world Python applications like web scraping, APIs, and databases. The goal is to teach useful data skills to students who may not become professional programmers.
This document provides an overview and introduction to using JDBC (Java Database Connectivity) to connect Java applications to databases. It discusses establishing a connection via a JDBC URL, interacting with databases using statements and result sets, and mapping between SQL and Java data types. The document is a guide for developers to get started using JDBC.
This document provides an overview and instructions for using transcoding technologies in IBM WebSphere Everyplace Access Version 4.1.1. It describes the architecture and components involved in transcoding, including preference profiles, stylesheets, annotators, and plug-ins. It also covers tools for configuring transcoding and monitoring requests. Finally, it provides examples of using annotation, stylesheets, and portal-level transcoding to deliver content to different devices.
This document provides an introduction to Java web programming. It covers topics like HTML, HTTP protocol, servlets, JavaServer Pages (JSP), tag libraries, and best practices. The document is divided into 8 chapters that progress from basic concepts to more advanced topics such as session management, building web applications, and custom tag libraries. It includes examples and lab activities to help readers learn Java web development.
This document discusses building a web service client module for the content management system Drupal. It aims to allow Drupal to consume both SOAP and RESTful web services. The module will provide a web service abstraction model and interface to facilitate integrating external web service data into workflows built with Drupal's Rules module. This will enable composing multiple web services in Rules workflows without programming. The implementation is evaluated using an automatic translation use case involving multiple web service calls.
This document is a lab manual for database management systems. It contains instructions for installing and using Visual Studio and SQL Server software. Visual Studio is a popular integrated development environment used to develop a wide range of computer programs and applications. It includes features like a code editor, debugger, and various designers. The document provides guidance on tasks for several labs covering topics like creating applications in Visual Studio, installing and managing databases in SQL Server, and building a school management system to apply concepts.
This document provides information about learning JavaScript programming, including:
- It discusses the history and origins of JavaScript and how it has evolved over time.
- It recommends choosing development environments for different types of JavaScript projects, such as for web pages or server-side applications.
- It describes what JavaScript can and cannot do as a client-side and server-side language.
- It provides guidance for deciding which version of JavaScript to use for a project.
- It demonstrates how to test JavaScript programs using HTML templates.
This document summarizes an industrial training report submitted by Nilesh Bandu Gunjkar for the degree of Bachelor of Technology in Information Technology. The report covers topics related to web development including HTTP, HTML, CSS, Google fonts, software requirements, and project planning. It provides an overview of the key concepts and technologies used in web development.
This document provides a user guide for ExeOutput for PHP, a PHP and website compiler for Windows. It allows users to create standalone Windows applications that can run and display PHP websites without requiring an internet connection, PHP installation, or remote web server. The guide covers starting a new project, developing and testing projects, customizing applications, navigating compiled webpages, accessing files with PHP, and other topics to help users build and deploy their PHP applications.
This master's thesis proposes a framework to share group information across heterogeneous group management systems using Shibboleth federated identity management. The framework would allow group administrators to authorize group members to access particular services based on their group memberships. It analyzes requirements and provides an architecture with core elements like an attribute synchronizer and group manager. The implementation details connecting group information systems like Mailman, LDAP, and Active Directory to Shibboleth are also described.
This document provides an abstract for Suman Srinivasan's 2015 PhD dissertation from Columbia University titled "Improving Content Delivery and Service Discovery in Networks". The dissertation aims to provide clarity on usage of core networking protocols and multimedia consumption on mobile and wireless networks as well as the network core. It presents research prototypes for potential solutions to problems caused by increased multimedia consumption on the Internet. The dissertation contains four main contributions: 1) Studies measuring data usage and protocols on networks; 2) New software architectures and implementations for service discovery on wireless networks; 3) On-path content delivery networks and a new distributed CDN architecture; 4) Research prototypes for content-centric networking.
This document is a guide to Yii 2.0, an open source PHP framework. Chapter 1 introduces Yii, describing what it is best suited for, how it compares to other frameworks, its versions, and requirements. Yii is a high performance, component-based framework for rapidly developing modern web applications. It is especially suitable for large-scale projects like portals, forums, and content management systems.
This thesis proposes methods for semantically enabling and verifying compositions of geospatial web services. It develops RESTful implementations of OGC services using JSON and describes services using Hydra vocabulary. A type system and algorithms are defined for static syntactic verification and Hoare logic is extended for dynamic verification. Semantic descriptions are propagated through compositions and JSON-W is created to describe compositions in JSON. The services are implemented to demonstrate semantic discovery, verification and execution of compositions.
The document evaluates the impact of a content delivery network (CDN) on the performance and scalability of a content-rich and transactional Java-based e-commerce website. It discusses how the website had struggled with content delivery during peak periods, leading to poor performance. The author conducted experiments using a CDN to cache and deliver content from multiple locations. The results showed a 30% improvement in page response times, 90% reduction in server CPU usage, and the ability to handle twice the traffic with the same hardware resources and zero outages. The conclusions are applicable to other e-commerce sites facing similar content delivery challenges.
BLUF:
The Texas outbreak has slowed down, but sporadic cases continue to emerge in Kansas, Oklahoma, and New Mexico.
Elsewhere in the US, we continue to see signs of acceleration due to outbreaks outside the Southwest (North Dakota, Montana, and Colorado) and travel-related cases. Measles exposures due to travel are expected to pose a significant challenge throughout the summer.
The U.S. is on track to exceed its 30-year high for measles cases (1,274) within the next two weeks.
Here is the latest update:
CURRENT CASE COUNT: 919
•Texas: 744 (+2) (55% of cases are in Gaines County).
•New Mexico: 81 (83% of cases are from Lea County).
•Oklahoma: 20 (+2)
•Kansas: 74 (+5) (38.89% of the cases are from Gray County).
HOSPITALIZATIONS: 104
• Texas: 96 (+2) – This accounts for 13% of all cases in Texas.
• New Mexico: 7 – This accounts for 9.47% of all cases in New Mexico.
• Kansas: 3 – This accounts for 5.08% of all cases in the state of Kansas.
DEATHS: 3
•Texas: 2 – This is 0.27% of all cases in Texas.
•New Mexico: 1 – This is 1.23% of all cases in New Mexico.
US NATIONAL CASE COUNT: 1,197
INTERNATIONAL SPREAD
•Mexico: 2337 (+257), 5 fatalities
‒Chihuahua, Mexico: 2,179 (+239) cases, 4 fatalities, 7 currently hospitalized.
•Canada: 3,207 (+208), 1 fatality
‒Ontario Outbreak, Canada: 2,115 (+74) cases, 158 hospitalizations, 1 fatality.
‒Alberta, Canada: 879(+118) cases, 5 currently hospitalized.
Paper 108 | Thoreau’s Influence on Gandhi: The Evolution of Civil DisobedienceRajdeep Bavaliya
Dive into the powerful journey from Thoreau’s 19th‑century essay to Gandhi’s mass movement, and discover how one man’s moral stand became the backbone of nonviolent resistance worldwide. Learn how conscience met strategy to spark revolutions, and why their legacy still inspires today’s social justice warriors. Uncover the evolution of civil disobedience. Don’t forget to like, share, and follow for more deep dives into the ideas that changed the world.
M.A. Sem - 2 | Presentation
Presentation Season - 2
Paper - 108: The American Literature
Submitted Date: April 2, 2025
Paper Name: The American Literature
Topic: Thoreau’s Influence on Gandhi: The Evolution of Civil Disobedience
[Please copy the link and paste it into any web browser to access the content.]
Video Link: https://youtu.be/HXeq6utg7iQ
For a more in-depth discussion of this presentation, please visit the full blog post at the following link: https://rajdeepbavaliya2.blogspot.com/2025/04/thoreau-s-influence-on-gandhi-the-evolution-of-civil-disobedience.html
Please visit this blog to explore additional presentations from this season:
Hashtags:
#CivilDisobedience #ThoreauToGandhi #NonviolentResistance #Satyagraha #Transcendentalism #SocialJustice #HistoryUncovered #GandhiLegacy #ThoreauInfluence #PeacefulProtest
Keyword Tags:
civil disobedience, Thoreau, Gandhi, Satyagraha, nonviolent protest, transcendentalism, moral resistance, Gandhi Thoreau connection, social change, political philosophy
More Related Content
Similar to Web Development With Java Using Hibernate Jsps And Servlets Tim Downey (20)
Research: Developing an Interactive Web Information Retrieval and Visualizati...Roman Atachiants
The document describes developing an interactive web information retrieval and visualization system. The system aims to make information searching and presentation easier and more efficient. It does this through speech recognition, keyword extraction from text, query construction and expansion using concepts, filtering and summarizing search results, and visualization. The system architecture includes these main components and was tested with satisfactory results. However, some challenges remain in creating a smooth presentation experience.
Instant download Developing Backbone js Applications Addy Osmani pdf all chapterdinetvenitja
Download Developing Backbone js Applications Addy Osmani instantly post-payment at https://ebookultra.com/download/developing-backbone-js-applications-addy-osmani. More textbooks and ebooks available in https://ebookultra.com Get PDF of full chapter.
This document summarizes a master's thesis about making web services mobile friendly. It discusses two open source software programs, Gallery and LiveJournal, that were modified to recognize mobile devices and present content appropriately for smaller screens and bandwidth limitations. User agent strings are used to identify mobile browsers. Layouts, images, and features were adjusted in both programs to improve the mobile experience. The modified software was released publicly and some changes were incorporated into official Gallery releases.
This document is the preface to the book "Python for Informatics: Remixing an Open Book". It discusses how the book was created by modifying the open source book "Think Python" by Allen B. Downey to have a stronger focus on data analysis and exploring information using Python. Key changes included replacing number examples with data examples, reorganizing topics to get to data analysis quicker, and adding new chapters on data-related Python topics like regular expressions, web scraping, and databases. The goal was to produce a text suitable for a first technology course with an informatics rather than computer science focus.
This document provides information about the book "Python for Informatics: Exploring Information". It was originally based on the book "Think Python: How to Think Like a Computer Scientist" by Allen B. Downey but has been significantly revised by Charles Severance to focus on using Python for data analysis and exploring information. The revisions include replacing code examples and exercises with data-oriented problems, reorganizing some topics, and adding new chapters on real-world Python applications like web scraping, APIs, and databases. The goal is to teach useful data skills to students who may not become professional programmers.
This document provides an overview and introduction to using JDBC (Java Database Connectivity) to connect Java applications to databases. It discusses establishing a connection via a JDBC URL, interacting with databases using statements and result sets, and mapping between SQL and Java data types. The document is a guide for developers to get started using JDBC.
This document provides an overview and instructions for using transcoding technologies in IBM WebSphere Everyplace Access Version 4.1.1. It describes the architecture and components involved in transcoding, including preference profiles, stylesheets, annotators, and plug-ins. It also covers tools for configuring transcoding and monitoring requests. Finally, it provides examples of using annotation, stylesheets, and portal-level transcoding to deliver content to different devices.
This document provides an introduction to Java web programming. It covers topics like HTML, HTTP protocol, servlets, JavaServer Pages (JSP), tag libraries, and best practices. The document is divided into 8 chapters that progress from basic concepts to more advanced topics such as session management, building web applications, and custom tag libraries. It includes examples and lab activities to help readers learn Java web development.
This document discusses building a web service client module for the content management system Drupal. It aims to allow Drupal to consume both SOAP and RESTful web services. The module will provide a web service abstraction model and interface to facilitate integrating external web service data into workflows built with Drupal's Rules module. This will enable composing multiple web services in Rules workflows without programming. The implementation is evaluated using an automatic translation use case involving multiple web service calls.
This document is a lab manual for database management systems. It contains instructions for installing and using Visual Studio and SQL Server software. Visual Studio is a popular integrated development environment used to develop a wide range of computer programs and applications. It includes features like a code editor, debugger, and various designers. The document provides guidance on tasks for several labs covering topics like creating applications in Visual Studio, installing and managing databases in SQL Server, and building a school management system to apply concepts.
This document provides information about learning JavaScript programming, including:
- It discusses the history and origins of JavaScript and how it has evolved over time.
- It recommends choosing development environments for different types of JavaScript projects, such as for web pages or server-side applications.
- It describes what JavaScript can and cannot do as a client-side and server-side language.
- It provides guidance for deciding which version of JavaScript to use for a project.
- It demonstrates how to test JavaScript programs using HTML templates.
This document summarizes an industrial training report submitted by Nilesh Bandu Gunjkar for the degree of Bachelor of Technology in Information Technology. The report covers topics related to web development including HTTP, HTML, CSS, Google fonts, software requirements, and project planning. It provides an overview of the key concepts and technologies used in web development.
This document provides a user guide for ExeOutput for PHP, a PHP and website compiler for Windows. It allows users to create standalone Windows applications that can run and display PHP websites without requiring an internet connection, PHP installation, or remote web server. The guide covers starting a new project, developing and testing projects, customizing applications, navigating compiled webpages, accessing files with PHP, and other topics to help users build and deploy their PHP applications.
This master's thesis proposes a framework to share group information across heterogeneous group management systems using Shibboleth federated identity management. The framework would allow group administrators to authorize group members to access particular services based on their group memberships. It analyzes requirements and provides an architecture with core elements like an attribute synchronizer and group manager. The implementation details connecting group information systems like Mailman, LDAP, and Active Directory to Shibboleth are also described.
This document provides an abstract for Suman Srinivasan's 2015 PhD dissertation from Columbia University titled "Improving Content Delivery and Service Discovery in Networks". The dissertation aims to provide clarity on usage of core networking protocols and multimedia consumption on mobile and wireless networks as well as the network core. It presents research prototypes for potential solutions to problems caused by increased multimedia consumption on the Internet. The dissertation contains four main contributions: 1) Studies measuring data usage and protocols on networks; 2) New software architectures and implementations for service discovery on wireless networks; 3) On-path content delivery networks and a new distributed CDN architecture; 4) Research prototypes for content-centric networking.
This document is a guide to Yii 2.0, an open source PHP framework. Chapter 1 introduces Yii, describing what it is best suited for, how it compares to other frameworks, its versions, and requirements. Yii is a high performance, component-based framework for rapidly developing modern web applications. It is especially suitable for large-scale projects like portals, forums, and content management systems.
This thesis proposes methods for semantically enabling and verifying compositions of geospatial web services. It develops RESTful implementations of OGC services using JSON and describes services using Hydra vocabulary. A type system and algorithms are defined for static syntactic verification and Hoare logic is extended for dynamic verification. Semantic descriptions are propagated through compositions and JSON-W is created to describe compositions in JSON. The services are implemented to demonstrate semantic discovery, verification and execution of compositions.
The document evaluates the impact of a content delivery network (CDN) on the performance and scalability of a content-rich and transactional Java-based e-commerce website. It discusses how the website had struggled with content delivery during peak periods, leading to poor performance. The author conducted experiments using a CDN to cache and deliver content from multiple locations. The results showed a 30% improvement in page response times, 90% reduction in server CPU usage, and the ability to handle twice the traffic with the same hardware resources and zero outages. The conclusions are applicable to other e-commerce sites facing similar content delivery challenges.
BLUF:
The Texas outbreak has slowed down, but sporadic cases continue to emerge in Kansas, Oklahoma, and New Mexico.
Elsewhere in the US, we continue to see signs of acceleration due to outbreaks outside the Southwest (North Dakota, Montana, and Colorado) and travel-related cases. Measles exposures due to travel are expected to pose a significant challenge throughout the summer.
The U.S. is on track to exceed its 30-year high for measles cases (1,274) within the next two weeks.
Here is the latest update:
CURRENT CASE COUNT: 919
•Texas: 744 (+2) (55% of cases are in Gaines County).
•New Mexico: 81 (83% of cases are from Lea County).
•Oklahoma: 20 (+2)
•Kansas: 74 (+5) (38.89% of the cases are from Gray County).
HOSPITALIZATIONS: 104
• Texas: 96 (+2) – This accounts for 13% of all cases in Texas.
• New Mexico: 7 – This accounts for 9.47% of all cases in New Mexico.
• Kansas: 3 – This accounts for 5.08% of all cases in the state of Kansas.
DEATHS: 3
•Texas: 2 – This is 0.27% of all cases in Texas.
•New Mexico: 1 – This is 1.23% of all cases in New Mexico.
US NATIONAL CASE COUNT: 1,197
INTERNATIONAL SPREAD
•Mexico: 2337 (+257), 5 fatalities
‒Chihuahua, Mexico: 2,179 (+239) cases, 4 fatalities, 7 currently hospitalized.
•Canada: 3,207 (+208), 1 fatality
‒Ontario Outbreak, Canada: 2,115 (+74) cases, 158 hospitalizations, 1 fatality.
‒Alberta, Canada: 879(+118) cases, 5 currently hospitalized.
Paper 108 | Thoreau’s Influence on Gandhi: The Evolution of Civil DisobedienceRajdeep Bavaliya
Dive into the powerful journey from Thoreau’s 19th‑century essay to Gandhi’s mass movement, and discover how one man’s moral stand became the backbone of nonviolent resistance worldwide. Learn how conscience met strategy to spark revolutions, and why their legacy still inspires today’s social justice warriors. Uncover the evolution of civil disobedience. Don’t forget to like, share, and follow for more deep dives into the ideas that changed the world.
M.A. Sem - 2 | Presentation
Presentation Season - 2
Paper - 108: The American Literature
Submitted Date: April 2, 2025
Paper Name: The American Literature
Topic: Thoreau’s Influence on Gandhi: The Evolution of Civil Disobedience
[Please copy the link and paste it into any web browser to access the content.]
Video Link: https://youtu.be/HXeq6utg7iQ
For a more in-depth discussion of this presentation, please visit the full blog post at the following link: https://rajdeepbavaliya2.blogspot.com/2025/04/thoreau-s-influence-on-gandhi-the-evolution-of-civil-disobedience.html
Please visit this blog to explore additional presentations from this season:
Hashtags:
#CivilDisobedience #ThoreauToGandhi #NonviolentResistance #Satyagraha #Transcendentalism #SocialJustice #HistoryUncovered #GandhiLegacy #ThoreauInfluence #PeacefulProtest
Keyword Tags:
civil disobedience, Thoreau, Gandhi, Satyagraha, nonviolent protest, transcendentalism, moral resistance, Gandhi Thoreau connection, social change, political philosophy
Paper 107 | From Watchdog to Lapdog: Ishiguro’s Fiction and the Rise of “Godi...Rajdeep Bavaliya
Dive into a captivating analysis where Kazuo Ishiguro’s nuanced fiction meets the stark realities of post‑2014 Indian journalism. Uncover how “Godi Media” turned from watchdog to lapdog, echoing the moral compromises of Ishiguro’s protagonists. We’ll draw parallels between restrained narrative silences and sensationalist headlines—are our media heroes or traitors? Don’t forget to follow for more deep dives!
M.A. Sem - 2 | Presentation
Presentation Season - 2
Paper - 107: The Twentieth Century Literature: From World War II to the End of the Century
Submitted Date: April 4, 2025
Paper Name: The Twentieth Century Literature: From World War II to the End of the Century
Topic: From Watchdog to Lapdog: Ishiguro’s Fiction and the Rise of “Godi Media” in Post-2014 Indian Journalism
[Please copy the link and paste it into any web browser to access the content.]
Video Link: https://youtu.be/kIEqwzhHJ54
For a more in-depth discussion of this presentation, please visit the full blog post at the following link: https://rajdeepbavaliya2.blogspot.com/2025/04/from-watchdog-to-lapdog-ishiguro-s-fiction-and-the-rise-of-godi-media-in-post-2014-indian-journalism.html
Please visit this blog to explore additional presentations from this season:
Hashtags:
#GodiMedia #Ishiguro #MediaEthics #WatchdogVsLapdog #IndianJournalism #PressFreedom #LiteraryCritique #AnArtistOfTheFloatingWorld #MediaCapture #KazuoIshiguro
Keyword Tags:
Godi Media, Ishiguro fiction, post-2014 Indian journalism, media capture, Kazuo Ishiguro analysis, watchdog to lapdog, press freedom India, media ethics, literature and media, An Artist of the Floating World
6/18/25
Shop, Upcoming: Final Notes to Review as we Close Level One. Make sure to review the orientation and videos as well. There’s more to come and material to cover in Levels 2-3. The content will be a combination of Reiki and Yoga. Also energy topics of our spiritual collective.
Thanks again all future Practitioner Level Students. Our Levels so far are: Guest, Grad, and Practitioner. We have had over 5k Spring Views.
https://ldm-mia.creator-spring.com
F-BLOCK ELEMENTS POWER POINT PRESENTATIONSmprpgcwa2024
F-block elements are a group of elements in the periodic table that have partially filled f-orbitals. They are also known as inner transition elements. F-block elements are divided into two series:
1.Lanthanides (La- Lu) These elements are also known as rare earth elements.
2.Actinides (Ac- Lr): These elements are radioactive and have complex electronic configurations.
F-block elements exhibit multiple oxidation states due to the availability of f-orbitals.
2. Many f-block compounds are colored due to f-f transitions.
3. F-block elements often exhibit paramagnetic or ferromagnetic behavior.4. Actinides are radioactive.
F-block elements are used as catalysts in various industrial processes.
Actinides are used in nuclear reactors and nuclear medicine.
F-block elements are used in lasers and phosphors due to their luminescent properties.
F-block elements have unique electronic and magnetic properties.
How to Customize Quotation Layouts in Odoo 18Celine George
Customizing quotation layouts in Odoo 18 allows businesses to personalize their quotations to match branding or specific requirements. This can include adding logos, custom fields, or modifying headers and footers.
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...Ultimatewinner0342
🧠 Lazy Sunday Quiz | General Knowledge Trivia by SMC Quiz Club – Silchar Medical College
Presenting the Lazy Sunday Quiz, a fun and thought-provoking general knowledge quiz created by the SMC Quiz Club of Silchar Medical College & Hospital (SMCH). This quiz is designed for casual learners, quiz enthusiasts, and competitive teams looking for a diverse, engaging set of questions with clean visuals and smart clues.
🎯 What is the Lazy Sunday Quiz?
The Lazy Sunday Quiz is a light-hearted yet intellectually rewarding quiz session held under the SMC Quiz Club banner. It’s a general quiz covering a mix of current affairs, pop culture, history, India, sports, medicine, science, and more.
Whether you’re hosting a quiz event, preparing a session for students, or just looking for quality trivia to enjoy with friends, this PowerPoint deck is perfect for you.
📋 Quiz Format & Structure
Total Questions: ~50
Types: MCQs, one-liners, image-based, visual connects, lateral thinking
Rounds: Warm-up, Main Quiz, Visual Round, Connects (optional bonus)
Design: Simple, clear slides with answer explanations included
Tools Needed: Just a projector or screen – ready to use!
🧠 Who Is It For?
College quiz clubs
School or medical students
Teachers or faculty for classroom engagement
Event organizers needing quiz content
Quizzers preparing for competitions
Freelancers building quiz portfolios
💡 Why Use This Quiz?
Ready-made, high-quality content
Curated with lateral thinking and storytelling in mind
Covers both academic and pop culture topics
Designed by a quizzer with real event experience
Usable in inter-college fests, informal quizzes, or Sunday brain workouts
📚 About the Creators
This quiz has been created by Rana Mayank Pratap, an MBBS student and quizmaster at SMC Quiz Club, Silchar Medical College. The club aims to promote a culture of curiosity and smart thinking through weekly and monthly quiz events.
🔍 SEO Tags:
quiz, general knowledge quiz, trivia quiz, SlideShare quiz, college quiz, fun quiz, medical college quiz, India quiz, pop culture quiz, visual quiz, MCQ quiz, connect quiz, science quiz, current affairs quiz, SMC Quiz Club, Silchar Medical College
📣 Reuse & Credit
You’re free to use or adapt this quiz for your own events or sessions with credit to:
SMC Quiz Club – Silchar Medical College & Hospital
Curated by: Rana Mayank Pratap
List View Components in Odoo 18 - Odoo SlidesCeline George
In Odoo, there are many types of views possible like List view, Kanban view, Calendar view, Pivot view, Search view, etc.
The major change that introduced in the Odoo 18 technical part in creating views is the tag <tree> got replaced with the <list> for creating list views.
Intellectual Property Right (Jurisprudence).pptxVishal Chanalia
Intellectual property corresponds to ideas owned by a person or a firm and thus subjected to legal protection under the law.
The main purpose of intellectual property is to give encouragement to the innovators of new concepts by giving them the opportunity to make sufficient profits from their inventions and recover their manufacturing costs and efforts.
Vitamin and nutritional deficiency occurs when the body does not receive enough essential nutrients, such as vitamins and minerals, needed for proper functioning. This can lead to various health problems, including weakened immunity, stunted growth, fatigue, poor wound healing, cognitive issues, and increased susceptibility to infections and diseases. Long-term deficiencies can cause serious and sometimes irreversible health complications.
---
June 25 ISSIP Event - slides in process
20250618 PPre-Event Presentation Summary - Progress Update with Board Series June 25
ISSIP Website Upcoming Events Description: https://issip.org/event/semi-annual-issip-progress-call/
Register here (even if you cannot attend live online, all who register will get link to recording and slides post-event): https://docs.google.com/forms/d/e/1FAIpQLSdThrop1rafOCo4PQkYiS2XApclJuMjYONEHRMGBsceRdcQqg/viewform
This pre-event presentation: https://www.slideshare.net/slideshow/june-2025-progress-update-with-board-call_in-process-pptx/280718770
This pre-event recording: https://youtu.be/Shjgd5o488o
---
Plate Tectonic Boundaries and Continental Drift TheoryMarie
This 28 slide presentation covers the basics of plate tectonics and continental drift theory. It is an effective introduction into a full plate tectonics unit study, but does not cover faults, stress, seismic waves, or seafloor spreading.
To download PDF, visit The Homeschool Daily. We will be uploading more slideshows to follow this one. Blessings, Marie
The document outlines the format for the Sports Quiz at Quiz Week 2024, covering various sports & games and requiring participants to Answer without external sources. It includes specific details about question types, scoring, and examples of quiz questions. The document emphasizes fair play and enjoyment of the quiz experience.
SCHIZOPHRENIA OTHER PSYCHOTIC DISORDER LIKE Persistent delusion/Capgras syndr...parmarjuli1412
SCHIZOPHRENIA INCLUDED TOPIC IS INTRODUCTION, DEFINITION OF GENERAL TERM IN PSYCHIATRIC, THEN DIFINITION OF SCHIZOPHRENIA, EPIDERMIOLOGY, ETIOLOGICAL FACTORS, CLINICAL FEATURE(SIGN AND SYMPTOMS OF SCHIZOPHRENIA), CLINICAL TYPES OF SCHIZOPHRENIA, DIAGNOSIS, INVESTIGATION, TREATMENT MODALITIES(PHARMACOLOGICAL MANAGEMENT, PSYCHOTHERAPY, ECT, PSYCHO-SOCIO-REHABILITATION), NURSING MANAGEMENT(ASSESSMENT,DIAGNOSIS,NURSING INTERVENTION,AND EVALUATION), OTHER PSYCHOTIC DISORDER LIKE Persistent delusion/Capgras syndrome(The Delusion of Doubles)/Acute and Transient Psychotic Disorders/Induced Delusional Disorders/Schizoaffective Disorder /CAPGRAS SYNDROME(DELUSION OF DOUBLE), GERIATRIC CONSIDERATION, FOLLOW UP, HOMECARE AND REHABILITATION OF THE PATIENT,
Web Development With Java Using Hibernate Jsps And Servlets Tim Downey
1. Web Development With Java Using Hibernate Jsps
And Servlets Tim Downey download
https://ebookbell.com/product/web-development-with-java-using-
hibernate-jsps-and-servlets-tim-downey-2108836
Explore and download more ebooks at ebookbell.com
2. Here are some recommended products that we believe you will be
interested in. You can click the link to download.
Full Stack Development With Spring Boot 3 And React Build Modern Web
Applications Using The Power Of Java React And Typescript 4th Edition
Juha Hinkula
https://ebookbell.com/product/full-stack-development-with-spring-
boot-3-and-react-build-modern-web-applications-using-the-power-of-
java-react-and-typescript-4th-edition-juha-hinkula-53607798
Guide To Web Development With Java Understanding Website Creation 2nd
Edition Tim Downey
https://ebookbell.com/product/guide-to-web-development-with-java-
understanding-website-creation-2nd-edition-tim-downey-24008132
Guide To Web Development With Java Understanding Website Creation 1st
Edition Tim Downey Auth
https://ebookbell.com/product/guide-to-web-development-with-java-
understanding-website-creation-1st-edition-tim-downey-auth-2626180
Web Development Toolkit For Java Developers Build Dynamic Secure And
Scalable Web Applications With Java English Edition Dr Nirali Dabhi
https://ebookbell.com/product/web-development-toolkit-for-java-
developers-build-dynamic-secure-and-scalable-web-applications-with-
java-english-edition-dr-nirali-dabhi-50766736
3. Web Development Toolkit For Java Developers Build Dynamic Secure And
Scalable Web Applications With Java Nirali Dabhi
https://ebookbell.com/product/web-development-toolkit-for-java-
developers-build-dynamic-secure-and-scalable-web-applications-with-
java-nirali-dabhi-50637844
Tapestry 5 A Stepbystep Guide To Java Web Development With The
Developerfriendly Apache Tapestry Framework Alexander Kolesnikov
https://ebookbell.com/product/tapestry-5-a-stepbystep-guide-to-java-
web-development-with-the-developerfriendly-apache-tapestry-framework-
alexander-kolesnikov-4108380
Java For Web Development Create Fullstack Java Applications With
Servlets Jsp Pages Mvc Pattern And Database Connectivity Sarika
Agarwal
https://ebookbell.com/product/java-for-web-development-create-
fullstack-java-applications-with-servlets-jsp-pages-mvc-pattern-and-
database-connectivity-sarika-agarwal-43996886
Web Development With Blazor An Indepth Practical Guide For Net
Developers To Build Interactive Uis With C 2nd Edition 2nd Jimmy
Engstrm Engstrom
https://ebookbell.com/product/web-development-with-blazor-an-indepth-
practical-guide-for-net-developers-to-build-interactive-uis-
with-c-2nd-edition-2nd-jimmy-engstrm-engstrom-48223998
Web Development With Django A Definitive Guide To Building Modern
Python Web Applications Using Django 4 2nd Edition 2nd Ben Shaw
https://ebookbell.com/product/web-development-with-django-a-
definitive-guide-to-building-modern-python-web-applications-using-
django-4-2nd-edition-2nd-ben-shaw-50310894
12. Preface
I have been teaching web development for ten years.I started with Perl.
I can still remember the behemoth programs that contained all the
logic and HTML. I remember using a text editor to write the program.
Debugging consisted of a lot of print statements. It was a fun time, full
of exploration, but I do not miss them.
Five years ago,I made the move to Java and Java servlets.Life became
much simpler with the use of NetBeans.It has been a critical component
in developing Web applications using Java.Debugging a web application
in NetBeans is just as easy as debugging any Java application.
This book is meant for students who have a solid background in
programming, but who do not have any database training. Until two
years ago, my students used a glorified HashMap to save data. Then a
former student gave me the word: Hibernate. For anyone with a pro-
gramming background in Java, using Hibernate to save data to a rela-
tional database is a simple task.
I have always been a proponent of automating the common tasks
that Web applications perform. There are many packages that can sim-
plify the job of a Web developer: Log4j,BeanUtils and Hibernate.I have
created additional classes that can automate additional tasks.
Readers of this book should have a good background in Java pro-
gramming.The book uses HTML,HTML Forms,Cascading Style Sheets
and XML as tools. Each topic will receive an introduction, but the full
scope of the area will not be explored. The focus of the book is on Java
Servlets that use Java Server Pages and connect to a MySQL database
using Hibernate. No SQL will be covered in the book, except for a short
section in the Appendix for those who want to see what Hibernate is
doing.
I am grateful to the community of web developers, who have pro-
vided all the excellent tools for creating web applications: Apache,
Tomcat, Hibernate, Java Servlets, Java Server Pages, NetBeans, Log4j,
Commons.
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 never have been started.
Tim Downey
Miami, FL
vii
21. 1 Browser – Server Communication
This chapter explains how information is sent from a browser to a server. It begins
with a description of the request from a browser and a response from a server.
Each of these has a format that is determined by the Hypertext Transfer Protocol
[HTTP].
The chapter continues with the explanation of markup languages, with a
detailed description of the Hypertext Markup Language [HTML], which is used to
send formatted content from the server to the browser. One of the most important
features of HTML is its ability to easily request additional information from the
server through the use of hypertext links.
HTML forms are also covered. These are used to 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 know 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. Tomcat is a popular servlet
engine. NetBeans is a development environment that is tailored for web develop-
ment. NetBeans is packaged with Tomcat.
1.1 Hypertext Transfer Protocol
Whenever someone accesses a web page on the Internet, there is communication
between two computers. On one computer there is a software program know as a
browser, on the other is 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 sending the page – see Figure 1.1.
1
22. 2 Web Development with Java
Browser Server
GET /index.html HTTP/1.1
[Request Headers ]
[Blank Line ]
[Optional Content ]
Request
Response
200 OK HTTP /1.1
[Response Headers ]
[Blank Line ]
<html>
...
Figure 1.1 The request and response have specific formats, as specified by the HTTP protocol.
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 fol-
lowed. 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 a numeric code indicating the success of the request, a sentence
describing the code and the version of the protocol that the server is using.
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 com-
municate. Do they bow or shake hands when they meet? Do they eat with chop-
sticks 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.
1.1.1 Request Format
The request from the browser has the following format in HTTP:
1. The first line contains the type of request, the name of the requested page and
the protocol that is being used.
2. Subsequent lines contain information about the browser and the request.
3. A blank line indicates the end of the request headers.
4. In a POST request, there can be additional information sent after the blank
line.
1.1.2 Response Format
The response from the server has the following format in HTTP:
1. The first line contains the status code, a brief description of the status code and
the protocol being used.
2. Subsequent lines contain information about the server and the response.
23. Browser – Server Communication 3
3. A blank line indicates the end of the response headers.
4. In a successful response, the content of the page will be sent after the blank
line.
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. There are content types for text, graphics, spreadsheets,
word processors and more.
These content types are expressed as Multipurpose Internet Mail Extensions
[MIME] types. MIME types are used by web servers and web browsers. Each will
contain a file that has a table of MIME types with the associated file extension for
that type.
MIME types are defined by a general type followed by a specific type. For
example, there is a general type for text that 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 iden-
tify 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 (Figure 1.2).
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
Figure 1.2 Editors use markup to annotate text.
24. 4 Web Development with Java
meaning in just a few pen strokes. Imagine if there were a program that would
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 Three 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>
Word processors have an internal markup language that is used to indicate the
format of the text: bold, italic, font, colour, etc. These codes are hidden from the
user. WordPerfect has an additional view of the document that displays all of these
hidden codes (Figure 1.3).
There are two parts to any markup language
1. The plain text
2. 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 brackets
< and >. Directly adjacent to the opening bracket is the name of the tag. There can
be additional attributes after the name of the tag and the closing bracket.
HTML tags are intermixed with plain text. The plain text is what the viewer of
a web page will see. The HTML tags are commands to the browser for displaying
the text. In this example, the plain text “This text is underlined” is enclosed within
the HTML tags for underlining:
<u>This text is underlined</u>
The viewer of the web page would see: This text is underlined.
There are two types of HTML tags: singletons and paired tags.
Figure 1.3 Word processors use markup to format text.
25. Browser – Server Communication 5
Singletons have a limited amount of text associated with them or they have no
text at all. Singletons only have one tag. Table 1.1 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.2 gives four examples of
paired tags.
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 already 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
Table 1.2 Examples of paired tags.
Tag Explanation
<b>bold</b> The enclosed text is rendered in a thicker font.
<u>underlined</u> The enclosed text is rendered with an underline.
<i>italicised</i> 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.1 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.
26. 6 Web Development with Java
and can detect and correct mistakes in the written format. For example, a para-
graph 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 were used to 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 tags will contain plain text and other tags.
<html>html code</html>
The html tags enclose all the other tags and text in the document.
<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
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 dis-
played in the browser window. This paired tag belongs within the paired
<html> tags.
The <head> section does not contain normal markup tags, like bold and italic,
but instead contains tags that indicate how the browser should display the page.
<title>title text</title>
The title tags enclose the text that will display in the title bar of the browser
window.
<meta http-equiv=”...” content=”...”>
This singleton indicates extra information for the browser. This tag can be
repeated to include different information for the browser. In a standard page,
there should be a meta tag with http-equiv of content-type and content of
text/html;charset=utf-8. These indicate the type of text that is in the HTML
page and the character set for the language that is being used.
27. Browser – Server Communication 7
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 PUBLIC “-//W3C//DTD HTML 4.01//EN”>
<html>
<head>
<meta http-equiv=”content-type”
content=”text/html;charset=utf-8”>
<title>Simple Page</title>
</head>
<body>
<p>
This is a <i>simple</i> web page.
</body>
</html>
1. 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.
2. All the tags and plaintext for the page are contained within the paired <html>
tags.
a. Place a <head> section within the paired <html> tags.
i. Place a paired <title> tag within the <head> section.
ii. Place a singleton <meta> tag for the content type within the <head>
section.
b. Place a <body> section within the paired <html> tags.
3. The DOCTYPE and meta tags are required if the page is to be validated by W3C
for correct HTML syntax. Go to http://www.w3.org to access the HTML validator.
There is no excuse for a web page to contain errors. With the use of the validation
tool at http://www.w3.org, all HTML pages should be validated to ensure that they
contain all the basic tags.
Layout versus Style
There are two different types of information that are contained in each HTML
page: layout and style. The basic layout is covered in this chapter; advanced layout
and style are covered in Chapter Six. 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 informa-
tion in a separate file, called a style sheet. For the interested student, the HTML
and style information from Chapter Six can be read at any time.
There are different DOCTYPE statements that can be used for HTML pages:
strict and transitional. The strict one is the recommended one, since it enforces
the rule that all style information be contained in a separate file. All pages for this
book will use the strict DOCTYPE for HTML pages.
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”>
28. 8 Web Development with Java
Word Wrap and White Space
Most of us are used to typing text in a word processor and letting the program deter-
mine where the line breaks belong. This is know 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 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 consecu-
tive white space characters into a single space character. The common white space
characters are the space, the tab and the new line character. If there are five spaces
at the start of a line, they will be compressed into one space.
The following listing contains a web page that has a poem.
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”>
<html>
<head>
<meta http-equiv=”content-type”
content=”text/html;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 there is no markup to indicate that one line has ended
and another line should begin. The browser will start a new line if the poem would
extend beyond the right margin of the browser.
Try It http://bytesizebook.com/book/ch1/poem.html
Open the link in a browser and view the poem (Figure 1.4). Resize the window and
notice how the browser will break the text in different places. If the window is large
enough, the entire page would be displayed on one line.
Line Breaks
Two of the tags that can be used to start a new line are <br> and <p>. The <br>
tag is short for break and starts a new line directly under the current line. It is a
29. Browser – Server Communication 9
singleton tag, so it does not have a closing tag. The <p> tag is short for paragraph
and 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 PUBLIC “-//W3C//DTD HTML 4.01//EN”>
<html>
<head>
<meta http-equiv=”content-type”
content=”text/html;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 displayed using HTML.
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.
Figure 1.4 How the poem will appear in the browser.
30. 10 Web Development with Java
Try It http://bytesizebook.com/book/ch1/poem_formatted.html
Open the page in a browser to see how it looks (Figure 1.5). Resize the window
and notice that the poem displays on four lines, unless the widow 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 dis-
played in Listing 1.1.
1.2.3 What Is the HT in HTML?
The HT in HTML stands 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.
There are two parts to a hypertext link: 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,
name. The protocol could be http, ftp, telnet and others. The protocol is followed
by a colon and two slashes (://). After the protocol is the server, 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 browser, but it is associ-
ated 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.
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>
Notice 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
Figure 1.5 How the formatted poem will appear in the browser.
31. Browser – Server Communication 11
stored in an attribute named href. Attributes in HTML tags provide extra informa-
tion that is not visible 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
attribute 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, depend-
ing on where the resource is located, you may be able to speed up the loading of
your page by using a relative reference.
1. 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=”http://server.com/path/page.html”>
Some Page Somewhere on the web
</a>
2. 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 /.
<a href=”/path/from/root/page.html”>
Some Page on the Current Server
</a>
3. 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>
4. 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>
32. 12 Web Development with Java
There are three types of references.
1. Absolute
2. Relative from document root
3. Relative from current directory
There are just a few rules to determine the kind of reference.
1. If the URL begins with a protocol (like http://, ftp://, or telnet://), then it is an
absolute reference to that location.
2. If the URL begins with a /, then it is a relative reference from the document
root of the current server.
3. In all other cases, the URL is a relative reference from the current directory.
1.3 HTML Forms
If you have ever logged into a web site, then you have used an HTML form to
supply your username and password. A form will have places where a user can
enter data. These are known as form elements and can be for one line of text,
several lines of text, drop down lists and buttons. The form in Figure 1.6, which is
from Florida International University, uses several form elements for lines of text
and a button for submitting the data to the server.
1.3.1 Form Elements
The form and the form elements are defined using HTML tags. The opening form
tag is <form> and the closing tag is </form>. Plain text, other HTML tags and
form element tags can be placed between the opening and closing form tags. There
are many form elements, but only two of them will be introduced now. Table 1.3
Figure 1.6 An entry form from FIU.
Table 1.3 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.
33. Browser – Server Communication 13
defines the two essential form elements: text and submit. Additional form elements
are covered in Chapter Six.
Each of these has the same tag name (input) and attributes (type, name,
value).
1. The HTML tag name is input.
2. There are many different form elements that use the input tag. The type attri-
bute identifies which form element to display.
3. There could be several form elements in a form. The name attribute should be
a unique identifier for the element.
4. The value attribute stores the data that is in the element. The value that is hard
coded in the element is the value that is displayed in the browser when the
HTML page is loaded.
5. The name and value attributes are used to send data to the server. When the
form is submitted, the data for this element will be sent as name=value.
The value that will be sent will be the current data that is displayed in
the element.
Listing 1.2 is an example of a simple web page that has a form in it.
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”>
<html>
<head>
<meta http-equiv=”content-type”
content=”text/html;charset=utf-8”>
<title>First Form</title>
</head>
<body>
<form>
<p>
This is a simple HTML page that has a form in it.
<p>
Hobby: <input type=”text” name=”hobby”
value=””>
<input type=”submit” name=”confirmButton”
value=”Confirm”>
</form>
</body>
</html>
Listing 1.2 A web page with a form.
The form has an input element of type text with a name of hobby and an input
element of type submit with a name of confirmButton. The name that appears on
the button is Confirm. Notice that there are HTML tags, plain text and form ele-
ments between the opening and closing form tags.
Try It http://bytesizebook.com/book/ch1/OnePage/SimpleForm.html
The page will display a text box and a submit button (Figure 1.7). Open the page
in a browser, enter some data in the text box and submit the form.
34. 14 Web Development with Java
1.3.2 Representing Data
In a two-dimensional world, it is very easy to create lists of data. For example, Table
1.4 displays a list of colour preferences in a table.
How would these be written in a one-dimensional world? In other words, how
would all of this data be combined into one string of text?
In addition to the data that is in the table, the structure of the table would also
need to be stored in the string. This table has four rows and two columns. There
would need to be a way to indicate the end of one row and the start of the next.
There would need to be a way to indicate the end of one column and the start of
the next.
One technique for data formatting is to choose special characters to represent
the end of a row and the end of a column. It doesn’t matter which characters are
used, as long as they are different. It is also helpful if the characters that are
chosen are not common characters. For example, the ampersand and equal sign
could be used.
1. & is used to separate rows
2. = is used to separate the two columns in a row
Using this technique, the above list could be represented as a string. The structure
of the table is embedded in the string with the addition of special characters.
foreground=black&background=white&border=red&link=blue
1.3.3 Transmitting Data over the Web
When the user activates a submit button on a form, the data in the form elements
are sent to the server. The default destination on the server is the URL of the
current page. All the data in the form elements are placed into one string that is
sent to the server. This string is known as the query string. The data from the
form is placed into the query string as name=value pairs.
Table 1.4 A table of colour preferences.
foreground black
background white
border red
link blue
Figure 1.7 A form with a text box and a submit button.
35. Browser – Server Communication 15
1. Each input element of type text or submit with a name attribute will have its
data added to the query string as a name = value pair.
2. If there are many name = value pairs, then they are separated by an ampersand,
&.
3. If a form element does not have a name attribute, then it is not sent to the
server.
4. In the default case, the query string is sent to the server by appending it to the
end of the URL. A question mark is used to separate the end of the URL from
the start of the query string.
If the user entered skiing in the hobby element and clicked the Confirm button of
the form, then the query string that is sent from the browser would look like the
following string.
hobby=skiing&confirmButton=Confirm
A question mark and the query string are appended to the URL. The request sent
to the browser would contain the following URL.
http://store.com/buy.htm?hobby=skiing&confirmButton=Confirm
If the user had entered the hobby as water skiing, then the query string would
appear as the following string.
hobby=water+skiing&confirmButton=Confirm
Notice that the space between water and skiing has been replaced by a plus sign.
A space would break the URL in two. This is the first example of a character that
cannot be represented normally in a URL; there will be other characters that must
be translated before they can be entered in a query string. Please be aware that
the browser does this translation automatically and that the server will do the
reverse translation automatically. This is known as HTML encoding and HTML
decoding.
Try It http://bytesizebook.com/book/ch1/OnePage/SimpleForm.html
Open the form, enter a hobby and click the Confirm button. The same page will
redisplay, but the query string will be appended to the URL (Figure 1.8).
Many first-time observers will think that nothing is happening when the submit
button on the form is clicked, except that the value that was entered into the text
Figure 1.8 After entering data and clicking the button, the query string will appear in the URL.
36. 16 Web Development with Java
box has disappeared. In reality, a new request for the same page was made to the
server with the query string, containing the data from the form appended to the
URL of the request. A complete request was made by the browser; a complete
response was sent by the server.
1.4 Processing Form Data
If the data from a form is sent to a simple HTML page, then there is no way for
the HTML page to retrieve the data that was sent from the browser. In order to
process the data, the page should be a JSP or a servlet in a web application.
1.4.1 Web Application
A web application consists of a directory structure and some required files. The
directory structure is the same for all web applications. One of the required files
is the web.xml file, which is used to initialise the web application.
Directory Structure
The root directory can have any name, like FirstApp, but the subdirectories must
have the names WEB-INF, lib and classes as shown in Figure 1.9.
The root directory (i.e. FirstApp) of the web application is the standard location
for HTML files. The WEB-INF directory contains the web.xml file. The lib directory
is where jar files will be placed to add non-standard features to the web applica-
tion. The classes directory is where the programs and supporting files for your web
application will be placed.
Only the root directory is visible from the Internet. That is why HTML files are
placed in the root of the web application. Any file that is to be accessed from the
web must be visible from the root of the web application.
The WEB-INF directory and its contents cannot be accessed directly from the
web. A method will be covered in the next chapter for making selected files, which
are descended from WEB-INF, visible from the web.
web.xml
There is one required file, named web.xml, that belongs in the WEB-INF directory.
It contains XML that defines any special features for the web application. XML is
similar to HTML, but there are no predefined tags. Each application defines its
own tags. In this book, it will be assumed that the web application supports the
new EL that is included in JSP 2.0. As such, the web.xml file for a web application
Figure 1.9 A web application has a specific directory structure.
37. Browser – Server Communication 17
should contain the XML in the following listing, at the least. More content will be
added to the web.xml file as the applications become more robust.
<?xml version=”1.0” encoding=”UTF-8”?>
<web-app xmlns=”http://java.sun.com/xml/ns/j2ee”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd”
version=”2.4”>
<display-name>myApp</display-name>
<description>
Simple Web Application with Expression Language
</description>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>
index.jsp
</welcome-file>
<welcome-file>
index.html
</welcome-file>
<welcome-file>
index.htm
</welcome-file>
</welcome-file-list>
</web-app>
Web Application Location
Web applications are run by servlet engines. Each servlet engine will have a special
location for web applications. For the Tomcat servlet engine, all web applications
should be located in the webapps directory.
NetBeans is a Java development environment that is packaged with Tomcat. It
is very easy to configure NetBeans to run web applications. There will be a discus-
sion of NetBeans in a later section in this chapter.
For other servlet engines, check the documentation to determine where web
applications should be placed.
1.4.2 JSP
A Java Server Page [JSP] contains HTML tags and plain text, just like a regular web
page. In addition, a JSP can contain Java code that is executed when the page is
displayed. As long as it is contained in a web application, a JSP will be able to
process the form data that is sent to it.
38. 18 Web Development with Java
JSP Location
For now, the location of JSPs will be in the root directory of the web application,
not in the WEB-INF directory. The WEB-INF directory is not accessible directly
through a web browser. Later, you will see how it is possible to place a JSP inside
the WEB-INF directory so that access to the JSP can be restricted.
Accessing Form Data
In the servlet specification 2.0, there is a new language that has been added to JSPs
that simplifies access to objects that are available to a JSP. This language is known
as the Expression Language [EL]. EL statements start with a dollar sign and are
surrounded by curly braces.
${EL-statement}
The EL statement for accessing data in the query string uses the word param and
the name of the form element that contained the data.
${param.name_of_element}
Consider the query string of hobby=water+skiing. To retrieve the value of
the hobby parameter from the query string, insert ${param.hobby} anywhere
inside the JSP.
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”>
<html>
<head>
<meta http-equiv=”content-type”
content=”text/html;charset=utf-8”>
<title>First JSP</title>
</head>
<body>
<form>
<p>
This is a simple HTML page that has a form in it.
<p>
The hobby was received as: <b>${param.hobby}</b>
<p>
Hobby: <input type=”text” name=”hobby”
value=””>
<input type=”submit” name=”confirmButton”
value=”Confirm”>
</form>
</body>
</html>
The source code for this page looks just like the HTML page that contained the
simple form in Listing 1.2, except that it includes one instance of an EL statement,
${param.hobby}, and has the extension jsp instead of html. These changes
allow the value that is present in the query string to be displayed in the browser.
39. Browser – Server Communication 19
This is an example of a dynamic page. It changes appearance based upon the data
that is entered by the user.
Try It http://bytesizebook.com/book/ch1/OnePage/First.jsp
Type in a hobby and click the Confirm button. The form data will be sent back to
the current page in the query string. Figure 1.10 shows the value that is in the
query string being displayed in the body of the JSP.
1.4.3 Initialising Form Elements
Using the ${param.hobby} syntax, it is possible to initialise a form element with
the value that was sent to the page. The trick is to set the value attribute of the
form element with the parameter value: value=”${param.hobby}”. The
value attribute holds the data that will appear in the form element when the page
is loaded.
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”>
<html>
<head>
<meta http-equiv=”content-type”
content=”text/html;charset=utf-8”>
<title>Initialized JSP</title>
</head>
<body>
<form>
<p>
This is a simple HTML page that has a form in it.
<p>
The hobby was received as: <b>${param.hobby}</b>
<p>
Hobby: <input type=”text” name=”hobby”
value=”${param.hobby}”>
<input type=”submit” name=”confirmButton”
value=”Confirm”>
</form>
</body>
</html>
Figure 1.10 The value from the query string is displayed in the page.
40. 20 Web Development with Java
Try It http://bytesizebook.com/book/ch1/OnePage/FormInitialized.jsp
Before entering a hobby in the form element, examine the source of the page in
the browser. Notice that the value for the hobby element is the empty string.
...
<form>
<p>
This is a simple HTML page that has a form in it.
<p>
The hobby was received as: <b></b>
<p>
Hobby: <input type=”text” name=”hobby”
value=””>
<input type=”submit” name=”confirmButton”
value=”Confirm”>
</form>
...
Now enter a hobby and click the Confirm button (Figure 1.11).
Open the source of the page in the browser. You will see that the value that was
sent from the browser to the server is now hard coded in the form element. Try a
hobby that has multiple words, too.
...
<form>
<p>
This is a simple HTML page that has a form in it.
<p>
The hobby was received as: <b>water skiing</b>
<p>
Hobby: <input type=”text” name=”hobby”
value=”water skiing”>
<input type=”submit” name=”confirmButton”
value=”Confirm”>
</form>
...
Remember to use the quotes around the values. If the quotes are omitted and
the value has multiple words in it, then only the first will be placed in the
Figure 1.11 The input element is initialised with the value from the query string.
41. Browser – Server Communication 21
element. Never write the value as value=${param.hobby}; always include
the quotes.
Try It http://bytesizebook.com/book/ch1/OnePage/FormInitializedBad.jsp
In this example, the quotes have been omitted for the value. To see the problem,
enter more than one word in the hobby element.
In Figure 1.12, you will see that the correct value is displayed in the plain text,
but that the value in the form element is incorrect. For example, if the hobby is
entered as water skiing, then the form element will only display water.
The reason becomes clear when the HTML code for the form element is viewed
in the browser:
<input type=”text” name=”hobby” value=water skiing>
Without the quotes around the value attribute, the browser sees the following
attributes: type, name, value and skiing. The browser doesn’t know what the skiing
attribute is, so the browser ignores it. Compare this with the correct format for the
input element:
<input type=”text” name=”hobby” value=”water skiing”>
Now the browser sees the correct attributes: type, name and value.
1.5 The Truth About JSPs
JSPs look like HTML pages, but they can generate dynamic content. Whenever
there is dynamic content, there is a program working in the background. HTML
pages are plain text. If a JSP is not in a web application, then there would be no
dynamic content and they would be treated as plain text.
JSPs are abstractions: they are translated into Java programs known as servlets.
The program that translates them into servlets is known as the servlet engine.
It is the task of the servlet engine to translate the JSPs into servlets and to
execute them.
Figure 1.12 The input element is not initialised properly for values that have multiple words.
42. 22 Web Development with Java
Servlets only contain Java code. All the plain text from the JSP has been trans-
lated into write statements. The EL statements have been translated into com-
plicated Java expressions.
1.5.1 Servlet for a JSP
The following listing contains the servlet that was created by the servlet engine
for the last page. The contents of the page can be seen in the out.write
statements.
package org.apache.jsp.ch2.TwoPages;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
public final class Edit_jsp
extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime JspSourceDependent
{
private static java.util.Vector _jspx_dependants;
public java.util.List getDependants() {
return _jspx_dependants;
}
public void _jspService(HttpServletRequest request,
HttpServletResponse response)
throws java.io.IOException, ServletException {
JspFactory _jspxFactory = null;
PageContext pageContext = null;
HttpSession session = null;
ServletContext application = null;
ServletConfig config = null;
JspWriter out = null;
Object page = this;
JspWriter _jspx_out = null;
PageContext _jspx_page_context = null;
try {
_jspxFactory = JspFactory.getDefaultFactory();
response.setContentType(“text/html”);
pageContext = _jspxFactory.getPageContext(
this, request, response,
null, true, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out;
out.write(“<!DOCTYPE HTML PUBLIC” +);
out.write(“”-//W3C//DTD HTML 4.01//EN”>n”);
43. Browser – Server Communication 23
out.write(“<html>n”);
out.write(“ <head>n”);
out.write(“ <meta http-equiv=”content-type”);
out.write(“ “);
out.write(“ content=”text/html;charset=utf-8”>n”);
out.write(“ <title>Simple Edit Page</title>n”);
out.write(“ </head>n”);
out.write(“ <body>n”);
out.write(“ <p>This is a simple HTML page that”);
out.write(“ has a form in it.n”);
out.write(“ <form action=”Confirm.jsp”>n”);
out.write(“ <p>n”);
out.write(“ If there is a value for the hobby”);
out.write(“ in the query string,”);
out.write(“ then it is used to initialize the”);
out.write(“ hobby element.n”);
out.write(“ n”);
out.write(“ <p>n”);
out.write(“ Hobby: <input type=”text” name=”);
out.write(“”hobby” value=””);
out.write((java.lang.String)
org.apache.jasper.runtime PageContextImpl.
proprietaryEvaluate(“${param.hobby}”,
java.lang.String.class,
PageContext)_jspx_page_context, null,
false));
out.write(“”>n”);
out.write(“ “);
out.write(“<input type=”submit””);
out.write(“ name=”confirmButton”
out.write(“ “);
out.write(“ value=”Confirm”>n”);
out.write(“ n”);
out.write(“ </form>n”);
out.write(“ </body>n”);
out.write(“</html>n”);
out.write(“n”);
out.write(“n”);
} catch (Throwable t) {
if (!(t instanceof SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
out.clearBuffer();
if (_jspx_page_context != null)
_jspx_page_context.handlePageException(t);
}
} finally {
if (_jspxFactory != null)
_jspxFactory.releasePageContext(
_jspx_page_context);
}
}
}
44. 24 Web Development with Java
It is actually a complicated matter to generate dynamic content. The EL statement
in the JSP is responsible for the dynamic content. In the above servlet, the actual
Java code for the EL statement of ${param.hobby} is
out.write((java.lang.String)
org.apache.jasper.runtime.PageContextImpl.
proprietaryEvaluate(“${param.hobby}”,
java.lang.String.class,
PageContext)_jspx_page_context, null,
false));
The beauty of a JSP is that the servlet engine implements most of the details auto-
matically. The developer can simply write HTML statements and EL statements to
generate programs that can process dynamic data.
1.5.2 Handling a JSP
Web servers know how to deliver static content, but need separate programs to
handle dynamic content. If there is a request made to the server for a JSP, then the
server must send the request to another program to complete the request. In particu-
lar, if a web page has a form for entering data and sends the data to a JSP, then a
special program know as a servlet engine will handle the request. A servlet engine is
a program running on the server that knows how to execute JSPs and servlets. There
are several different servlet engines: Tomcat and JRun are two popular choices.
JSP Request Process
When the user fills in data in a form and clicks a button, a request is made from
the browser to the web server (Figure 1.13).
The web server recognises that the extension of the request is .jsp, so it calls a
servlet engine to process the JSP. The web server administrator must configure the
web server so that it sends all .jsp files to the servlet engine. There is nothing magical
about the .jsp extension, it could be set to any extension at all (Figure 1.14).
The web server sends the request information that it received from the browser
to the servlet engine. If this were a request for a static page, the server would send
a response to the browser; instead, the server sends the response information to
the servlet engine. The servlet engine takes this request and response information
and sends a response back to the browser (Figure 1.15).
Web
Server
Request from Browser
GET /some.jsp HTTP /1.1
...
Figure 1.13 The browser makes a request to the server for a dynamic page.
45. Browser – Server Communication 25
Figure 1.14 The web server sends the request for a JSP to the servlet engine.
Servlet
Engine
Response to Browser
Figure 1.15 The servlet engine sends a response back to the browser.
Putting all the steps together gives the complete picture of how a request for a
JSP is handled: the request is made; the server calls another program to handle
the request; the other program, which is known as a servlet engine, sends the
response to the browser (Figure 1.16).
Servlet Engine Response
Inside the servlet engine, there are steps that are followed to take the request
information and generate a response. The servlet engine must translate the JSP
into a servlet, load the servlet into memory, encapsulate the data from the browser
and generate the response.
Translating the JSP The servlet engine must translate all JSPs into servlets.
The servlet engine will keep a copy of the translated servlet so that the engine
does not need to retranslate the JSP on every request. The servlet engine will
only create the servlet when the servlet does not exist or when the source JSP has
been modified.
Loading the Servlet A servlet is loaded into memory upon the first request
made to it after the servlet engine has been started or restarted. The servlet
.class file is stored on disk. Upon the first request to the servlet, the.class
file is loaded into memory. Once a servlet has been loaded into memory, it will
remain there, waiting for calls to its methods. It is not removed from memory after
each request; this enables the servlet engine to process requests faster.
Request and Response Information The web server sends the request informa-
tion that it received from the browser to the servlet engine. The server also sends
Web
Server
Servlet
Engine
GET , /some .jsp ,
HTTP , 1.1, Mozilla ,
...
Response Data
text /html , Apache ,
HTTP , 1.1,
...
Request Data
46. 26 Web Development with Java
the response information to the servlet engine. The servlet engine takes this infor-
mation and creates two objects: one that encapsulates the request information and
one that encapsulates the response information. These two objects are all that are
needed to communicate with the browser; all of the information that the browser
sent is in the request object; all the information that is needed to send data to the
browser is in the response object.
Servlet Method to Handle Request Generating the response is done in the
_jspService method of the generated servlet. The method has two parameters:
the request and the response. These parameters are the objects that the servlet
engine generated from the request data that was sent from the browser and
from the response data that was forwarded by the web server. These objects are
of the types javax.servlet.http.HttpServletRequest and javax.
servlet.http.HttpServletResponse.
Figure 1.17 The servlet engine handling a request for a JSP.
Figure 1.16 The complete request and response cycle.
Web
Server
Servlet
Engine
GET , /some .jsp ,
HTTP , 1.1, Mozilla ,
...
Response Data
text /html , Apache ,
HTTP , 1.1,
...
Request Data
Request from Browser
GET /some .jsp HTTP /1.1
...
Response to Browser
Create servlet , if new or modified JSP
Load servlet , if not in memory
Create request and response objects
from data sent from web server
Call _jspService method with the
request and response objects
Response
Object
Request
Object
47. Browser – Server Communication 27
public void _jspService(HttpServletRequest request,
HttpServletResponse response)
throws java.io.IOException, ServletException
Whenever a request is made for a JSP, the servlet engine might have to create the
servlet and might have to load it into memory. If the servlet is recreated, then it
will have to be reloaded into memory. However, even if the servlet is not recreated,
the servlet might need to be loaded into memory. Whenever the servlet engine is
restarted, then all servlets are removed from memory; when the next request is
made to the servlet, it will need to be reloaded into memory.
Figure 1.17 summarises the steps that are followed by the servlet engine when
it receives a request for a JSP.
1.6 Tomcat and NetBeans
In order to run servlets and JSPs, it is necessary to install a servlet engine.
A popular servlet engine is Tomcat, which is an Apache project.
While it is possible to download and install Tomcat, it is easier to download and
install NetBeans, which is packaged with Tomcat. NetBeans is an excellent develop-
ment environment for Java and it allows the developer to debug web applications
just as easily as any other Java application. It is possible to use Tomcat from within
NetBeans without having to know anything about Tomcat configuration. NetBeans
is open source and can be downloaded for free from http://netbeans.org.
NetBeans organises applications into projects. There are several templates for
creating typical projects; one of these templates is for a web application. When the
NetBeans project is built, the corresponding file structure for a web application
will be created.
1.6.1 Creating a Project in NetBeans
In order to work on a file in NetBeans, it is necessary to create a project.
1. From the File menu, select New Project . . .
2. Choose the Category of project as Web.
3. Choose the Project type as Web Application.
4. Enter a Project Name and a Project Location.
5. Use the default context path and use J2EE 1.4.
6. Do NOT set the source level to 1.4. Be sure that Java 1.5 or higher is installed
on the system.
7. After clicking finish, there should be a project listed in your Projects tab. It will
look something like Figure 1.18.
1.6.2 Web Project in NetBeans
A web project in NetBeans is a set of directories and files that allow for servlets
and JSPs to be executed and debugged. By placing the HTML, JSP and servlet files
in the correct folders, a web project can be executed from within NetBeans.
48. 28 Web Development with Java
The web project does not have the structure of a web application; however,
when a project is built, the corresponding web application structure will be
created. The files from the project folders will be copied into the folders of the
web application.
There are three main folders that are used for a web project: Web Pages, Source
Packages and Libraries. The Web Pages folder will be discussed in this chapter,
since it is the one that is visible from the web. The other two folders will be covered
in detail in Chapters Two and Four.
Web Pages
The Web Pages folder is for HTML pages, images, CSS style sheets and some JSPs.
Table 1.5 explains the directories and files that will be found in this folder when a
new project is created.
Try It http://netbeans.org
Download and install the latest NetBeans from http://netbeans.org. In order to use
the EL statements, Java 1.5 or higher must be installed on the system.
Figure 1.18 The Projects tab in NetBeans.
Table 1.5 Contents of the Web Pages folder.
Web Pages This is the main folder for content that is visible from the web application.
Place the JSPs from this chapter in this folder.
index.jsp This is the default web page when this web application is loaded from Tomcat.
Place hypertext links in this page to your JSPs and servlets. When the web
application is run, this is the page that will appear in the web browser.
WEB-INF This subdirectory contains the web.xml file. It controls the web application.
More information about this file will be provided in Chapter Two.
49. Browser – Server Communication 29
Create a web application and copy the JSPs into the Web Pages folder. Subfol-
ders can also be created. For now, do not place any JSPs under the WEB-INF
directory.
Edit the index.jsp file by adding hypertext links to the JSPs.
Run the web application, follow the links to the JSPs and enjoy running a
dynamic application.
1.7 Summary
The communication between the browser and server is controlled by the HTTP
protocol. The two major parts of the protocol cover the request and response: the
request from the browser and the response from the server must have specific
formats. The server also indicates the type of the content that is being sent to the
browser, so that the browser will know how to display it.
Markup languages are useful for annotating plain text. HTML is the markup
language that is used on the Internet. The most common content sent on the web
is HTML. Each HTML tag has a similar structure. To be well formed, an HTML
page should have a set of basic tags. The most important tag in HTML is the anchor
tag. The anchor tag can use relative and absolute references to other files.
HTML forms are the way that browsers accept information from a user and
send it to the server. The basic input tags were covered: text and submit. When the
browser sends the data to the server, the data must be formatted so that it can be
passed in a URL. It is placed in the query string.
In order to process data from a user, the data must be received by a dynamic
page in a web application. Of most importance in a web application is the web.xml
file, which is used to configure the web application. A web application must have
a specific directory structure. JSPs are one of the ways that dynamic content can
be displayed in a web application. The expression language is used to display
dynamic content from within a JSP. EL can be used to initialise form elements with
data that is sent to the page.
JSPs are an abstraction: they are translated into Java programs, know as servlets,
by the servlet engine. The servlet engine is an application that is called by the web
server to handle JSPs and servlets. It is possible to write servlets directly, without
creating a JSP. If a page has more Java than HTML, then it should be written as a
servlet, not as a JSP. The servlet engine encapsulates the request and response
information from the server into objects and passes them to the servlets.
NetBeans is an excellent development environment for web applications. Net-
Beans is packaged with Tomcat and is integrated with the default browser on a
system. After creating a project, a web application can be executed with the click
of a button.
1.8 Chapter Review
Terms
1. Browser
2. Server
50. 30 Web Development with Java
3. Request
4. Response
5. Protocol
6. URL
7. Markup Language
8. HTML
a. Singleton Tag
b. Paired Tag
9. Hypertext Link
a. Relative
b. Absolute
10. HTML Form
11. Query String
12. Web Application
13. web.xml
14. ${param.element_name}
Tags
1. HTML
2. HEAD
3. BODY
4. DOCTYPE
5. META
6. TITLE
7. BR
8. P
9. INPUT
a. TEXT (name and value attributes)
b. SUBMIT (name and value attributes)
Questions
1. What are the three things that belong in the first line of a request from the
browser?
2. What are the three things that belong in the first line of a response from the
server?
3. What types of information are contained in the request header?
4. What types of information are contained in the response header?
5. Besides the ?, = and &, list five additional characters that are encoded by the
browser.
6. What is the purpose of MIME types?
51. Browser – Server Communication 31
7. What are the two parts of every markup language?
8. What two tags are needed in order to use the W3C validator?
9. What is word wrap?
Tasks
1. Write a complete HTML page, including TITLE, DOCTYPE and META tags.
Validate the page for correct HTML syntax, at http://www.w3c.org/. Introduce
some errors into your page and validate again, to see the error messages that
the validator generates.
2. Write hypertext links to the following locations. Use a relative reference when-
ever possible.
a. To the site http://www.microsoft.com
b. To the file page2.html that is in the same directory as the current page.
c. To the file page3.html that is in a subdirectory named special of the
current directory.
d. To the file page4.html that is in a subdirectory named common of the
document root of the web server.
3. Write a complete HTML page that has an HTML form with a text input field
and a submit button. Validate the page for correct HTML syntax, at http://www.
w3c.org/.
a. Rewrite the page so that it echoes the value for the input field if it is in the
Query String.
b. Rewrite the page so that it initialises the input element with the value for it
in the Query String.
4. Write the Query String that would be created from an HTML form that has two
input elements named first and last. Assume that the user has entered a
value of Fred for first and Flintstone for last.
5. Create a Web Application with a complete web.xml file.
a. Place the HTML page from question 1 into the web application.
b. Place the JSP from question 3 into the web application.
c. In the HTML page, add a hypertext link to the JSP.
d. Access the HTML page from the web.
e. Access the JSP from the web.
52. 32
2 Controllers
Web applications are more similar than different. If you describe a web site where
you buy things, you will probably say that there is a page where you enter personal
information, then there is a page where you confirm that your information is
correct and then the site processes your order. These pages could be named the
edit page, the confirm page and the process page. For the next few chapters, this
will be the basic structure of all the examples of web applications.
Web applications need to be able to send data from one page to the next. The
form tag allows one page to send data to any other page. All data that is in named
form elements can be sent to any page when a button in a form is clicked.
Pages that have visible form elements for entering data can easily send data to
another page; however, not all pages have visible form elements for entering data.
Typically, the confirm page will display the user’s data as plain text, not in visible
form elements. There is a non-visible form element that can be added to a form
that will hold the user’s data, so that it can be sent to the next page when a button
is clicked.
Some pages in a web application need to be able to send data to more than one
page. The confirm page in a typical web site is a common example. If there is an
error in the data, the user will send the data back to the edit page. If the data is
correct, the user will send the data to the process page. In order to handle this task
efficiently, a separate page or program, known as a controller, will be used.
The main task of the controller is to determine the next page to display. Based
on the button that the user clicks, the controller will forward the request to the
correct JSP. A controller can be written as a JSP, but it is better to write the control-
ler as a Java program known as a servlet.
A servlet is a Java program that is compiled to a.class file. The.class file
must be in the classes directory of a web application in order to be executed. By
default, .class files cannot be accessed from the web, but they can be made
visible by adding tags to the web.xml file of the web application.
2.1 Sending Data to Another Form
When the user clicks a submit button in a form, by default, the data is sent back
to the current URL. At the server, the current URL then processes the data and
resends its content to the browser. It is possible to override this default behaviour
so that the data entered in one page can be sent to another page (Figure 2.1).
53. Controllers 33
Each form has an optional action attribute that specifies the URL of the page that
should receive the data.
2.1.1 Action Attribute
The action attribute should specify the URL of a JSP or servlet that will process
the data and return a new HTML page for the browser to display.
...
<form action=”Confirm.jsp”>
...
The action attribute of the form tag controls where the data is sent and the page
that will be displayed. For example, Listing 2.1 shows how the edit page, could send
its data to Confirm.jsp.
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”>
<html>
<head>
<meta http-equiv=”content-type”
content=”text/html;charset=utf-8”>
<title>Simple Edit Page</title>
</head>
<body>
<p>This is a simple HTML page that has a form in it.
<form action=”Confirm.jsp”>
<p>
If there is a value for the hobby in the query
string, then it is used to initialize the hobby
element.
<p>
Hobby: <input type=”text” name=”hobby”
value=”${param.hobby}”>
<input type=”submit” name=”confirmButton”
value=”Confirm”>
</form>
</body>
</html>
Listing 2.1 A JSP that sends data to a different page.
Relative and Absolute References
Just like the href attribute in an anchor tag, the action attribute can be a relative
reference to a JSP or servlet, or can be an absolute reference to a JSP or servlet on
another server.
Edit
Page
Confirm
Page
Figure 2.1 The data from the edit page can be forwarded to the confirm page.
54. 34 Web Development with Java
1. If the resource is not on the same server, then you must specify the entire URL,
starting with http://.
<form action=”http://server.com/path/Confirm.jsp”>
2. If the JSP or servlet 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 /.
<form action=”/path/Confirm.jsp”>
3. If the JSP or servlet is in the same directory as the HTML page that references
it, then only include the file name, not the server, nor the directory.
<form action=”Confirm.jsp”>
4. If the JSP or servlet 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.
<form action=”path/Confirm.jsp”>
Retrieving the Value of a Form Element
When a button is clicked in a form, the data from the form is placed into the query
string. The query string is sent to the page that is specified in the action attribute
of the form. This page can retrieve the value of the form element by using EL, just
as the edit page used EL to initialise the form element with the value from the
query string.
The next listing shows the contents of Confirm.jsp, the JSP that processes the
data and displays a new HTML page. It displays the value of the form parameter
that was sent to it, using the EL statement ${param.hobby}. Once the data has
been placed into the query string, it can be retrieved by any JSP.
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”>
<html>
<head>
<meta http-equiv=”content-type”
content=”text/html;charset=utf-8”>
<title>Simple Confirmation Page</title>
</head>
<body>
<p>The value of the hobby that was sent to
this page is: <b>${param.hobby}</b>.
</body>
</html>
Try It http://bytesizebook.com/book/ch2/TwoPages/Simple/Edit.jsp
Enter some data into the hobby element (Figure 2.2).
56. "I will give you a reason, though I have not much time, for fear the
powder in the pan should get damp," replied the boy; "but my
reason is that I was told to go to Rochelle and see Maître Clement
Tournon; and therefore I am going. Now, in the Isle de Rhé I did not
think you were going to betray us, and knew quite well it was mere
fear; but at present I do think Jargeau is seeking to betray me,—or
mislead me, which is as bad. At all events, you have got to go with
me to Rochelle, or have the lead in your head, Pierrot: so choose
quickly, because you know I do not wait long for any one."
"Well, I vow you are too hard upon me, Master Ned," said Pierrot, in
a whimpering tone. "You take the very bread out of my mouth and
give me over to the vengeance of that cold-blooded devil Jargeau."
"You will find me a worse devil still," replied Master Ned, coldly; but
even as he spoke he fell into a fit of thought, and then added,
"Listen to me, Pierrot, if the brandy has left you any brains, or ears
either. I want a man like you to go with me a long way, perhaps. It
will not be I who pay you, for I have got little enough, as you know;
but I will be your surety that you shall be well paid as long as you
serve well. I know you to the bottom. You are honest at heart,
whether you are drunk or sober; though liquor has not the same
effect upon you as upon most men. You are brave enough when you
are sober, but a terrible coward when you are drunk. Now, if you like
to go with me, you shall have enough to live on, and to get drunk
on, when I choose to let you get drunk."
"How often will that be?" asked Pierrot, interrupting him.
"I will make no bargain," answered the lad; "but this much I will say:
you may drink whenever I do not tell you I have important business
on hand. When I do tell you that, you shall taste nothing stronger
than water."
"Good! good!" said Pierrot: "strong water you mean, of course."
"Well-water," said the lad, sharply. "But, remember, I am not to be
trifled with. As to Jargeau, I will take care he does nothing to injure
57. you. If it be as I think, I have got his head under my belt, and he
will soon know that it is so. Now choose quickly, for we have stood
here too long."
"Well, I'll go," said Pierrot; "but I am terribly afraid of that Jargeau.
However, your pistol is nearest; and so I'll go. I know you are not to
be trifled with, well enough; but I must find some way of letting
Jargeau know I have left him. It would be a shame to go without
telling him, you know, Master Ned."
"We shall find means enough in Rochelle of sending him word,"
answered the lad, putting up his pistol and resuming his journey.
Pierrot followed with sundry half-articulate grunts; but he appeared
soon to recover both good humor and spirits, for ere they had gone
half a mile he burst forth into song, broken and irregular indeed,
now a scrap from one lay, now from another; but, at all events, the
music seemed to show that no very heavy thing was resting on his
mind. His rambling scraps of old ditties ran somewhat as follows:—
"Whither go you on this dark, dark night,
Wayfaring cavalier?
Go you to love, or go you to fight?
Either is better by clear moonlight,
Venturous cavalier.
"By my life, the moon is beginning to break through,—though how
she will manage it I don't know; for there is mud enough in yonder
sky to swallow up the tallest horse I ever rode.
"Oh, tell-tale moon,
You are up too soon
For the long train of kisses yet on the way.
Your eyes so bright
Make all the world light:
We might just as well kiss in the full of the day."
58. "She has got behind the cloud again. Moons and maidens don't
know their own minds.
"Katy went to the cupboard-door,
Ah, Katy, Katy!
What want you in your grandam's store?
Cunning little Katy."
"She went quietly over the floor:
Fie, Katy, Katy!
No use of the lock, no use of the door,
Against that little Katy."
"She's put away her own little snood:
Fie, little Katy!
She has got on her grandmother's hood:
Can that be pretty Katy?"
"She has opened the back door into the wood:
Beware! Katy, Katy;
Such sly marches never bode good
To any little Katy."
"But there's a priest with the yeoman tall:
Is that it, little Katy?
And now she is wedded and bedded and all,
And no more little Katy."
The concluding stanzas, if they were neither very excellent nor very
tender, were at least an indication that his mind was settling down
into a calmer state than when he began. They were connected, at all
events; and continuity of thought is a great approach to reason,
which dwelleth not in the brains of any man together with much
brandy. The finer spirit was, therefore, apparently getting the better
of the coarser; and Master Ned thought the time was come for him
to take advantage of the change of dynasty and see whether he
could not obtain some advantage from the new ruler.
59. "Well, Pierrot," he said, "this is a very pretty business you have been
engaged in. After having had the honor of serving the King of
England and fighting for the liberty of the Protestants of France, you
have been persuaded to aid in trying to betray me into the hands of
the enemy, though you did not know that I might not be the bearer
of important messages to your own people."
"Whew!" cried Pierrot, with a long whistle. Now, whistles mean all
kinds of things, from the ostracism of a play-house gallery to the
signal of love or housebreaking; but the whistle of good Pierrot was
decidedly a whistle of astonishment, and so Master Ned interpreted
it.
"Do not affect ignorance or surprise, Pierrot," he said: "that will not
do with me. Jargeau is a traitor: that is clear."
"Well, well, Master Ned," interposed his companion, "you are a
mighty sharp lad, beyond question; but sometimes you ride your
horse too fast, notwithstanding. Just stop a bit till my head gets a
little—a very little bit—clearer, and I'll set you right. As you think the
matter worse than it is, I may as well show you it is better. I don't
mean to say they did not want to trick you; but not the way you
fancy."
"Why, are not all the towns round in the hands of the Papists?"
asked the lad. "We have had that news in England for the last four
months."
"No, no, no," answered Pierrot: "the Papists may have the upper
hand in most of them, it is true; but stop a bit, and I'll tell you all
clearly. Your long pistol half sobered me; and when I can get to a
spring and put my head in, that will wash out the rest of the brandy.
It is of no use giving you a muddled tale."
"Take care you do not make one up," answered Master Ned. "I shall
find you out in five minutes."
60. Pierrot laughed. "I'd as soon try to cheat the devil," he said. "But let
us ride on. There is a well just where the roads cross, and it will
serve my turn. Brandy is a fine thing, but a mighty poor counsellor."
The lad followed the suggestion, for he did not wish to give his
companion too much time to think, and, urging their horses on, in
about five minutes they reached the spot where two highways
crossed, and where a large stone trough received the waters of a
beautiful and plentiful spring, affording solace to many a weary and
thirsty horse in those days of saddle-travelling. There Pierrot
dismounted, slowly and deliberately, for he could not precisely
ascertain to what extent he retained a balancing power till his feet
touched the ground. With more directness of purpose, however, than
could have been expected, he made his way to the trough, and,
kneeling down, plunged his head once or twice into the cool water.
He then rose, with his long rugged black hair still streaming; and,
after the horses had been suffered to drink, the two travellers
resumed their way. The moon by this time had completely scattered
the clouds; glimpses of dark-blue sky appeared between the broken
masses, and the keen eye of the young lad could mark every change
in the expression of Pierrot's face as he went on.
"Now, Master Ned," he said, "I think my noddle has got clear enough
of the fumes to let you know something of what people have been
about here, which you do not know rightly, I can see. Rochelle is
going to be taken by the Catholics: that's clear to me."
"Unless the great Duke of Buckingham drive the Catholics beyond
the Loire, it must be taken," answered the lad. "You can never stand
against all France. But what makes you give up hope, Pierrot?"
"First, the King of France, and his devil of a Cardinal, are drawing
together a great army all around us," answered Pierrot,—"a greater
army than ever approached Rochelle before. That we could manage
to resist, perhaps. But then they are going very coolly to work
fortifying every town and well-pitched village of the Papists within
fifty miles of the city, and filling them with soldiers, so that every
61. egg that comes to market will have to be fought for. Well, that we
could perhaps manage too, for we could get supplies from England.
But look here, Master Ned: there are two parties in Rochelle. Our
best lords and wisest citizens, our chief generals and captains, know
well that our only hope is in the support of England; but there is a
more numerous, if not a stronger, party, who do not like your great
duke, would have nothing to do with your good country, and would
have us stand alone and fight it out by ourselves. One of their chief
men is Jargeau."
"I see," said the lad. "But what did he seek by trying to entrap me to
go to Mauzé?"
"First, your letters were likely either to fall into the hands of the
Catholics, and, by showing how firmly Rochelle could count upon
English help, frighten them and make them reasonable," answered
Pierrot, "or, secondly, they might fall into the hands of Miguet and
his other friends, who would take care they should never reach their
destination. That was the plan, Master Ned."
"And not a bad plan, either," answered the other, thoughtfully,
"supposing I had any letters. But, as you say, Rochelle is in a bad
way; for, if her leaders are afraid to let each other know their exact
position and what they may count upon, she is a house divided
against herself, and cannot stand. But what made Jargeau think I
had letters? Nobody told him so, I think."
"No; but they told him you would have messages for our principal
people," answered Pierrot,—adding, not unwilling, perhaps, to show
a little scorn for one whose strong will had exercised what may be
called an unnatural ascendency over him more than once, "and
Jargeau never believed that they would trust messages to such a
young boy as you."
"He must have thought my memory very bad," replied the lad, "not
to be able to carry a message from England to France. But my
memory is not so bad, good Pierrot, as he may find some day. At all
62. events, if Rochelle is to be lost by the intrigues of a man who does
not choose his comrades to know where succor lies when they like
to seek it, all the world shall know who ruined a good cause. But I
suppose, Pierrot, all he told me of the meeting of the Reformed
leaders at Mauzé was a mere lure."
"No, no; it is all true," answered Pierrot. "The prince is there, and
Rohan, and a dozen of others; and if you could have got safe
through without the loss of your bags, you would have found some
of those you want; but I suppose he had provided against that. I
don't know: he never told me; but it is likely."
"Very likely," replied Master Ned; "but you say 'some of those I
want.' I only want one person; and him I must see if it be possible.
Is Maître Clement Tournon in the city?"
"He is not with those in the Chateau of Mauzé," replied Pierrot. "I
know little of him. He is a goldsmith,—a very quiet man?"
"Probably," answered the lad: "quiet men are the best friends in this
world. So, on to Rochelle! Will they let us pass the gates at night?"
"'Tis a hard question to answer," said Pierrot. "Sometimes they are
very strict, sometimes lax enough. But it is somewhat late, young
lad, and, if none of the guard is in love with moonlight, we shall find
them all asleep."
"Asleep in such times as these!" exclaimed the young man.
"Why, either the Papists are trying to throw us off our guard," said
Pierrot, "or they are too busy cutting off each others' heads to mind
ours. They have not troubled us much as yet. True, they have taken
a town or two, and stopped some of our parties into the country,
and begun what they call lines; but not a man of their armies has
come within cannon-shot. And there is not much more strictness
than in the times of the little war which has been going on for the
last fifty years. But the people in the town vary from time to time.
When one man commands, the very nose of a Catholic will be fired
63. at; and, when another is on duty, the gates will be opened to
Schomberg, or the devil, or any one else who comes in a civil
manner. But there is Rochelle peeping over the trees yonder, just as
if she had come out to see the moon shine."
"Well, then, mark me, good Pierrot," said Master Ned, "I expect you
to do all you can to make them open the gates to us. You
understand what that means, I suppose?"
"That I shall have a shot in my other leg or through my head if I do
not, I presume," answered Pierrot. "But don't be afraid. When you
have given me a crown, I shall have taken service with you; and
then you know, or ought to know, I will serve you well."
The lad, it would seem, had some reason to judge that the estimate
which his companion put upon such a bond was just. Indeed, in
those days the act of taking service, confirmed by earnest-money,
implied much more than it does in our more enlightened times. Then
a man who had thus bound himself thought himself obliged to let
nobody cheat his master but himself, to feel a personal interest in
his purposes and in his safety. Now, alas! we hire a man to rob us
himself and help all others to rob us,—to brush our coats in the
evening, and cut our throats in the morning if we have too many
silver spoons. However, Master Ned put his hand into his pocket and
pulled out a piece of money, which he held out to Pierrot, who
seemed for a moment to hesitate to take it. "I wish I had told
Jargeau I was going to quit him," he said: "not that he ever gave me
a sol, but plenty of promises. How much is it, Master Ned?"
"A spur rial," replied the boy,—"worth a number of your French
crowns."
"Lead us not into temptation!" cried Pierrot, taking and pocketing
the money. "And now tell me what I am to do."
"All you can to make them open the gates," answered Master Ned.
"You have got the word, of course?"
64. "Nay, 'faith, not I," replied Pierrot: "Jargeau got it this evening, but I
did not think of asking. Never mind, however: all the people in
Rochelle know me, and I will get in if any one can."
He was destined to be disappointed, however. In the little suburb,
just before the gate, he and his companion passed a little tavern
where lights were burning and people singing and making a good
deal of noise; but it was in vain that Pierrot knocked at the large
heavy door or shouted through a small barred aperture. No one
could be made to hear; and he and Master Ned were forced to
retreat to one of the cabarets of the faubourg and await the coming
of daylight.
65. CHAPTER IV.
"Who is that boy?" said one of the early shopkeepers of Rochelle,
speaking to his neighbor, who was engaged in the same laudable
occupation as himself,—namely, that of opening his shop for the
business of the day. At the same time he pointed out a handsome
lad, well but plainly dressed, who was walking along somewhat
slowly toward the better part of the city. "Who is that boy, I
wonder?"
"He's a stranger, by that cloak with the silver lace," replied the other:
"most likely come over in the ship that nearly ran upon the pier last
night. He carries a sword, too. Those English make monkeys even of
their children; but he is a good-looking youth nevertheless, and
bears himself manly. Ah! there is that worthless vagabond, Pierrot la
Grange, speaking to him. And now Master Pierrot is coming here. I
will have naught to do with him or his." And, so saying, he turned
into his shop.
The other tradesman waited without, proposing in his own mind to
ask Pierrot sundry questions regarding his young companion; for,
although he had no curiosity, as he frequently assured his neighbors,
yet he always liked to know who every-body was, and what was his
business.
Pierrot, however, had only had time to cross over from the other
corner of the street and ask, in a civil, and even sober, tone, where
the dwelling of Monsieur Clement Tournon could be found, when the
good tradesman exclaimed, "My life! what is that?" and instantly
darted across the street as fast as a somewhat short pair of legs
could carry him.
66. Now, the street there was not very wide; but it was crossed by one
much broader within fifty yards of the spot where the shopkeeper
was standing, called in that day "Rue de l'Horloge." It may have
gone by a hundred names since. The street was quite vacant, too,
when Pierrot addressed the tradesman; but the moment after, two
sailors came up the Rue de l'Horloge, and one of them, as soon as
he set eyes on Master Ned, who was standing with his back to the
new-comers, laid his hand upon his shoulder and said something in
a tone apparently not the most civil, for the lad instantly shook
himself free, turned round, and put his hand upon the hilt of the
short sword he carried. It seemed to the good shopkeeper that he
made an effort to draw it; but whether it fitted too close, or it had
got somewhat rusted to the scabbard during the previous rainy
night, it would not come forth; and in the mean time the sailor
struck him a thundering blow on the head with a stick he carried.
The youth fell to the ground at once, but he did not get up again,
and the two tradesmen ran up, crying, "Shame! shame! Seize the
fellow!"
"You've killed him, Tom, by the Lord!" cried the other sailor. "You
deserve hanging; but get back to the ship if you would escape it.
Quick! quick! or they will stop you."
"He was drawing his sword on me!" cried our friend Tom, whose
quarrel—not the first one—with Master Ned we have already seen as
the ship neared the Isle of Rhé. But, not quite confident in the
availability of his excuse, he took his companion's advice and began
to run, turning the corner of the Rue de l'Horloge. One of the
tradesmen pursued him, however, shouting, "Stop him! stop him!"
and the malevolent scoundrel had not run thirty yards, when he was
seized by a strong, middle-aged man, who was walking up the street
with an elderly companion and was followed by two common men
dressed as porters.
The sailor made a struggle to get free, but it was in vain; and the
shopkeeper, who was pursuing, soon made the whole affair known
to his captors.
67. The elderly man with the white beard put one or two questions to
the prisoner, to which he received no reply; for since that untoward
event of the Tower of Babel the world is no longer of one speech,
and Tom was master of no other than his own.
"Take him to the prison," said the old man, addressing the two men
who had been following him. "Do not use him roughly, but see that
he does not escape."
"He shall not get away, Master Syndic," replied one of the porters;
and, while the syndic was speaking a few whispered words to his
companion, Tom was carried off to durance vile.
The two gentlemen then walked on with the tradesman by their
side, and were soon on the spot where the assault had been
committed. By this time a good many people had gathered round
poor Master Ned; and the other English sailor had lifted the lad's
head upon his knee, while Pierrot was pouring some water on his
face. The shopkeeper, to whom the latter had been speaking when
the misadventure had occurred, was trying to stanch the blood
which flowed from a severe cut on the head; but the moment he
saw the syndic approach he exclaimed, "Ah, Monsieur Clement
Tournon, this poor lad was inquiring for you when that brute felled
him."
"Indeed!" said the old man, with less appearance of interest than
might perhaps have been expected. "Leave stopping the blood: its
flow will do him good; and some one carry him to my house, where
he shall be well tended."
Pierrot had risen from his knee as the syndic spoke, and now
whispered a word in his ear, which he evidently thought of much
consequence; but the old man remained unmoved, merely saying,
"Not quite so close, my friend! I tell you he shall be well tended.
Neighbor Gasson, for charity, call two or three of your lads and let
them carry the poor lad up to my dwelling."
68. At this moment the younger and stouter man who had seized and
held Master Ned's brutal assailant suggested that it would be better
to take the boy to his dwelling, as it was next door but one to the
house of the famous physician Cavillac.
"Nay, nay, Guiton," replied the syndic, "my poor place is hard by;
and yours," he added, in a lower tone, "may be too noisy. You go
and send down the doctor,—though I think the lad is but stunned,
and will soon be well again. Pierrot la Grange, follow us up, if you
be, as you say, his servant,—though how he happened to hire such a
drunken fellow I know not. Yes, I know you, Master Pierrot, though
you have forgotten me." Thus saying, he drew the personage whom
he had called Guiton aside and spoke to him during a few moments
in a whisper. In the mean time, two or three stout apprentices had
been called forth from the neighboring houses; and the youth, being
raised in their arms, was being carried along the Rue de l'Horloge.
Clement Tournon followed quickly, leaving his friend Guiton at the
corner; and at the tenth door on the left-hand side the party
stopped and entered the passage of a tall house standing somewhat
back from the general line of the street. It was rather a gloomy-
looking edifice, with small windows and heavy doors plated on the
inner side with iron; but whether sad or cheerful mattered little to
poor Master Ned, for the state of stupor in which he lay was not
affected by the act of bearing him thither, nor by the still more
troublesome task of carrying him up a narrow stairs. That he was
not dead his heavy breathing showed; but that was almost the only
sign of life which could be discovered by a casual observer.
"Carry him into the small room behind the saloon," said Clement
Tournon, who was at this time following close; and in another
minute the lad was laid upon a bed in a room situated in the back of
the house, where little noise could penetrate, and which was
cheerful and airy enough.
"Thank you, lads; thank you!" said the syndic, speaking to the
apprentices. "Now leave us. You, Pierrot la Grange, stay here:
undress him and get him between the sheets."
69. The noise and the little crowd going up the steps had brought forth
several women-servants, belonging to Monsieur Tournon's
household, in large, helmet-shaped, white caps; and, after gazing in
silence for a moment or two, with wonder and compassion, upon the
handsome pale countenance, all bedabbled with blood, of the poor
lad, they began to make numerous suggestions to their master, who
answered nothing, but inquired, "Where is Lucette?"
She was gone, they told him, to Madame Loraine's school; and then,
rejecting all their counsels, and merely telling them that Dr. Cavillac
would soon be there, he ordered the room to be cleared of every
one but Pierrot and himself.
The old syndic paused for a moment or two after his commands had
been obeyed, gazing upon the pale face before him with a look of
greater interest than he had yet suffered to appear upon his
countenance. Then, suddenly turning to Pierrot, he said, "Now tell
me all you know about this youth. Who is he? What did he come
hither for? What is his business with me?"
"What is his business with you, Monsieur Tournon? I do not know,"
replied Pierrot la Grange. "What he came hither for was to bring
letters or messages from England; and as to who or what he is or
was, that is very simple. He is Lord Montagu's page."
"And his name?" asked the syndic.
"We used to call him Master Ned," replied Pierrot. "That was when I
was with the English army in the Isle de Rhé; but his name by
rights, I believe, is Edward Langdale." The old man continued silent;
and Pierrot, whose tendency to loqua-city easily broke bounds, went
on to tell how Etienne Jargeau had received, some days before,
information that Master Ned would arrive upon the coast on business
of importance, with directions to have a small beacon-fire lighted
that night, and every night after, on a little hill just above the trou
bourbé, till the lad appeared. "You know Jargeau used to be a
retainer of the Prince de Soubise, monsieur," Pierrot continued; "but
70. of late he has left his service and has gone over—some say bought—
to the French party."
"I trust we are all of the true French party," replied Monsieur
Tournon. "But the lad landed last night, you say. Had he no baggage
with him?"
"Yes, two large leather bags with padlocks on them," rejoined
Pierrot: "they are left safe under lock and key at the Coq d'Or, where
we were obliged to rest last night because the guard was so sound
asleep that we could not wake them to let us in."
"Ay? so sluggardly? This must be amended," said the syndic. "At the
Coq d'Or, in the suburb? That is no safe place for such bags."
"So I was just thinking," replied Pierrot: "I will go up and fetch them.
He has got the key of the room in his pocket."
The worthy gentleman made a movement toward the bed, as if to
take the key; but Clement Tournon stopped him with a somewhat
sarcastic smile, saying, "If the Coq d'Or is no safe depository, Pierrot
la Grange is no safe messenger."
The man's face flushed. "You do me wrong, sir!" he exclaimed. "Bad
enough I may be; but I never stole a thing in my life."
"Not a cup of brandy?" asked the syndic, with another smile.
Pierrot laughed. "Fair booty, fair booty!" he cried: "strong waters are
fair booty everywhere, monsieur."
"Well, I suspect you of nothing worse," replied Tournon; "but, if you
were once to go for the bags, Heaven knows when we should see
you again; and then you would come without the bags; for there
would be plenty of people to lighten you of your load. Besides, the
people of the cabaret would not let you take them. I will send my
head-polisher with you and give him an order to receive the
baggage in my name. They dare not refuse my order. Get the key
gently. I do not love putting my hands into other people's pockets."
71. As soon as the key had been obtained, Clement Tournon led his
companion into a large, curious-looking apartment on the floor
below, where round the room appeared a number of dingy glass
cases, through the small panes of which came the gleam of various
articles of gold and silver, while in different parts of the room were
several anvils and work-benches, with some half-dozen men filing,
hammering, and polishing. Near the window was a tall desk within a
sort of iron cage, and two clerks writing. Every thing was orderly in
the house of Clement Tournon; and, advancing to one of the scribes,
he directed him to write the order he had promised, saw it made out
and signed it, and then called a strong, middle-aged man from a
bench, whom he ordered to accompany Pierrot to the tavern and
return with him. He then took his way back to the little room behind
the great saloon and sat down by the bedside of Master Ned,
murmuring, "Poor boy! poor boy! He reminds me of my own poor
Albert."
Ere five minutes were over, he was joined by the physician,—a man
celebrated in his day, well advanced in years, and with that peculiar
look of mysterious noncompromising solemnity which many a doctor
still affects, and which was then as necessary to the profession as
rhubarb. As a description of medical treatment in those times,
though it might prove in some degree interesting to those who are
fond of "picking the bare bone of antiquity," would neither interest
nor instruct the general reader, I will pass over in silence all the
remedial means resorted to in the case of Master Ned. I only know
that cataplasms were applied to the soles of his feet, and that some
blood was taken from his arm. The doctor, after examination,
declared that the skull was not fractured,—which might well have
been the case; for, by a curious arrangement of nature, those whose
brains are the best worth preserving have uniformly the thinnest
cases in which to put them. "No, the skull was not fractured,"
Monsieur Cavillac said; but the lad had received a severe concussion
of the brain, which was sometimes worse. He, however, held out
good hope, though he told the syndic that he did not anticipate any
change till the sun went down, and read him a lecture upon the
72. effect of the various changes of the moon, and even of the day,
upon the human frame, assuring him—a fact in which many still
believe—that a scotched viper never dies till the sun sets.
After he was gone, Clement Tournon took care to have all the
directions carried out to the letter, and the cataplasms had just been
prepared and applied when Pierrot and the polisher returned with
the bags.
"Take him below," said the syndic, addressing his workman, and
indicating Pierrot by a nod of his head toward him,—"take him
below, and let him feed with our people; but take care that he does
not get at strong drink. Now, keep this place as quiet as possible,
but tell old Marton to come here in half an hour: for I have affairs,
and must go at that time."
"Can I not stay and attend upon my young master?" asked Pierrot,
in a respectful tone.
"No," said the syndic, dryly: "men who drink are always noisy."
When left alone with the door shut, what imaginations came upon
the good old merchant! "Would that I knew the lad's errand!" he
thought; and his eyes turned toward the bags, which had been set
down at the foot of the bed. "His letters must be in there," said
Tournon to himself, "and the key of the padlocks is doubtless in his
pocket."
Ah, Mr. Syndic, it is a moment of temptation.
"Perhaps his business is matter of life and death, and an hour even
may be of vast consequence to me, to the city, to the Protestant
cause. Indeed, it must be so, or they never would have sent him
over in such stormy weather." So said fancy,—a quality much more
nearly allied to curiosity than people think; and Clement Tournon
rose from his seat. But the fine moral sense that was in him
interfered. "No, never!" he said; "no, never! I will not touch them so
long as he lives. They shall not be fingered by any one in my house."
73. Still, he felt strongly tempted; and after a while he rose again and
went to call Marton, feeling it would be better for him not to remain
in that room alone. His large-capped pippin-faced maid-servant was
then duly imbued with all the doctor's directions, warned to change
the cataplasms every two hours and to keep the wet cloths on the
head cool; and then Clement Tournon walked forth from his house
toward the fine old town-hall.
Marton sat and sewed. The invalid did not stir, and an hour passed
by. "It must be time to change the cataplasms," she thought: "he
will not wake till I come back: would Heaven he could, poor lad!"
and down she went to the kitchen where what she needed had been
left to keep warm.
In the mean time, we may as well look about the room. It was a
very pretty little chamber, well and even luxuriously furnished withal.
Two windows looked out to the back court, and the sunshine came
in over a lower house behind. The rays first fell upon a small writing-
desk of dark carved oak, then touched upon a small bookcase in the
same style, well provided with books, and then upon a large armory,
as it was then called, or wardrobe, as we should now term it. There
was moreover a corner cupboard, also richly carved, with a glass
door on two sides, showing a number of little knick-knacks selected
with great taste, some ivory figures exquisitely cut, and a child's
sampler of not the best needlework.
Suddenly the door opened, and, with a quick step, but so light that
one could not hear a footfall, there entered a creature that seemed
like a dream, or a fairy, or a wreath of morning mist with fancy to
shape it into the form of a young girl. She could not be more than
fifteen years of age; but yet there were traces of early womanhood
in neck and shoulders and rounded limbs. But we may have to
describe her hereafter, and here we only stop to speak of the look of
strange surprise which opened the long, blue, deeply-fringed eyes
more wide, and expanded the nostril of the delicate nose, and raised
the arched eyebrow, and showed the pearl-like teeth between the
rosy lips, as she beheld the pale and bloody figure of the poor lad
74. lying upon her own bed. She stood for a moment in silent
astonishment, and then was approaching slowly on tiptoe—as if her
foot could have made any noise—toward the bedside, when a soft
voice behind her said, "Lucette."
She started and turned round, and the old syndic, who stood in the
doorway, beckoned her into the passage beyond.
"My dear child," he said, "I have been obliged to give your room to a
poor young lad who has been sadly hurt, because it was the only
one where he could have perfect quiet. I will put you in the blue
room on the other side, where you may have some noise; but I
know your good heart will not let you feel annoyed at giving up your
chamber for a day or two to him and our good Marton, who has to
nurse him."
"I will nurse him myself," said the young girl, "or at least help
Marton. Annoyed, grandfather? Could you think I would be annoyed
in such a case as his? Poor fellow! I will go and speak to him." And,
before the old man could tell her that it was in vain, she ran up to
the bedside, and said, in a low, sweet voice, "Be of good cheer,
young gentleman: we will nurse and tend you till you are quite well."
Her lips almost touched his ear as she spoke; and, whether it was
that the soft breath fanned him sweetly, or that the sound of a
woman's tongue had something that found a way to his heart when
even hearing failed, Ned Langdale turned suddenly in his bed,
murmuring, "Mother, dear mother, do not leave me."
75. CHAPTER V.
About nine o'clock in the evening the invalid wakened to a
consciousness of existence; but how wild and strange a
consciousness! His speech was incoherent, his eye vague and
wandering. He seemed to make vehement efforts to recover the
power of reason and thought; but it was all in vain. If in answer to a
question he uttered a few connected words, the next instant all was
confused and senseless in the attempt at a sentence; and, when Dr.
Cavillac visited him at half-past ten, his pulse was beating as if it
would have burst the artery, and his eyes were bloodshot and wild.
"Perfect silence, absence of light, with diet and blood-letting," said
the doctor,—"those are the only means to save him. Thank Heaven,
he is finely delirious. He can neither understand nor try to answer
any question. If he could but reason and talk, he were a dead youth.
Now, mark me, syndic: let there be a finger on every lip; let
everybody in your house be dumb for the next three days. If he
speak, do not answer him. If he do not speak, keep silence. Give
him the drinks I told you; and to-morrow I will bleed him again. In
three days we shall know more, and probably at that time he will
recover his senses, it may be for life, it may be for death; but all
depends upon good nursing."
The prognosis of the physician was verified. At the end of three days
Edward Langdale did recover his senses; but some events had taken
place in the mean time which must be noticed before we follow his
history further. We must, in the first place, begin with that most
interesting personage, Master Pierrot, who is going to be introduced
in a new character,—that of a philosopher. Although the press very
generally assumes the form of majesty, and indulges in the plural
number, probably in the proud consciousness of its sovereign power
76. over the minds, and perhaps the bodies, of a certain number of
human beings, it was with no such vain confidence that the last
sentence began, "We must," &c. That formula was merely adopted
to include you and me, dear reader, who, having to jog over a good
space of country together, had better agree upon our line of travel
before we set out upon each day's journey. It was, therefore, merely
a sort of suggestion on my part that we should first look after
Pierrot, and to be understood as implying nothing more.
Now, during the last few hours Pierrot had met with a number of
severe mortifications,—those somewhat sharp lessons of life which
sometimes do a man a great deal of good. In the first place, poor
Master Ned had, in very plain language, told him that he was a
coward when drunk, if he was a brave man when sober; and, as
there was a certain consciousness in Pierrot's breast that there was
a good deal of truth in the lad's assertion, of course the accusation
was the more unpalatable. Secondly, the conduct of Clement
Tournon showed him that one bad habit could deprive and had
deprived him of the last scrap of confidence amongst people of any
character; and, lastly, the refusal to let him attend upon his young
master showed that even his fidelity and affection were doubted.
Now, Pierrot was really an affectionate fellow, and this mortified him
more than any thing else. It is probable that many a time in life,
since by an evil practice he had lost wealth and station and
consideration, Pierrot had resolved to cast the vice from him. He
might have so resolved a hundred or a hundred and fifty times; but
he had never kept his resolution. Never before, however, had any
one doubted his qualities of heart; and on the present occasion, with
a good deal of time to spare,—in fact, it was all to spare, as he sat
in the kitchen or passages of the syndic's house,—he bestowed the
golden superfluity upon thought. His mind was not naturally a weak
one, though there is no denying that it had been weakened by
intemperance; and it was now making a great effort.
"So," he said to himself, "I am not even to be trusted in the boy's
sick-room. Well, that is somewhat hard. No, it is not. The old man is
77. quite right. He knows I am a drunken rascal, and thinks I am not to
be trusted in any thing. Hang me if I have not a mind to make him
think better of me. But it is of no use: I should only begin again.
Why need I begin again at all? Master Ned knows me better than
any of them; and he only requires me not to drink when there is any
thing important in the wind. He knows I cannot help it at other
times. But why cannot I help it at other times, if I can help it then? I
can help it if I like; and, by Heaven, I will not drink any more, except
when he gives me leave; and I'll ask him never to give me leave. So
we will settle the matter that way. I do love that lad, though he gave
me a shot in the leg to keep me from running away and disgracing
myself. I did not drink one drop last night at the inn, because he told
me not. I am mighty sick at my stomach, however. I wish I had a
drop of brandy, just to settle it. I have a mind to go out and get just
one gill to settle it,—only one gill. No, I won't; for then I should take
another, and so forth. It shall not be said that my young master was
lying sick and I went and got drunk. Let my stomach take care of
itself; and, if it chooses to be sick, it must be so. I wonder if he will
die, poor boy. He has a good heart, though he is as hasty as a
tinker's cur, and as stern as a general. Marton," he continued, to the
good woman who entered seeking something, "how is Master Ned?"
"Much the same, Pierrot," answered Marton. "The doctor says there
will be no change yet a while."
"Marton, I am resolved not to drink any more," said Pierrot, in a
solemn tone.
"Keep to it," she replied, with a laugh, but evidently with very little
confidence. "Why, Pierrot la Grange, for the last ten years you have
been forever at the flask. You were a very good young man before
that, and well to do; ay, and a handsome man too. I have seldom
seen a more personable man than you were then, before you took to
that filthy custom of making a beast of yourself; but now your face
is all over blotches, and your nose is so red you might fire a cannon
with it."
78. "Well, well, you shall see, Marton," rejoined Pierrot. "I have taken a
resolution, and fallen upon a plan by which I can keep it, too; and
you may tell the syndic that I will drink no more. Why, just now, I
thought to go out and get myself some brandy, with a spur rial—as
he calls it—which Master Ned gave me, because I am sick at the
stomach; but I resisted, and would not stir a step on account of my
resolution."
"Ah! are you sick at the stomach?" said Marton, quietly. "Suppose I
get you a little cloves and strong waters."
Pierrot evidently hesitated; but then he suddenly exclaimed, "Not a
drop, Marton, thank you; not a drop. I was once sober for three
whole days, and, I dare say, should have continued so, but that
fellow Jargeau got hold of me and persuaded me to drink. It was his
cue to make me drunk then. So those who know me will never ask
me to take a drop, if they love me."
"That they certainly will not," said Marton, going away with what she
had come to fetch.
Her conversation with Pierrot had one good effect, however. She told
her master that she really believed La Grange intended not to drink
any more, not only inasmuch he told her so, but because he refused
a glass of cloves and strong waters which she had offered him on
account of his being sick at the stomach.
"Most likely sick because he has not had his morning's draught," said
Clement Tournon. "However, encourage all good resolutions, and do
not offer him any more. Marton, I will speak with him myself in the
course of the day, and can judge better than you can."
The worthy syndic could not keep his promise, however. The day
passed over, and he did not see Pierrot; for the town of Rochelle was
in considerable agitation at that time, the events passing round it
being sufficiently menacing to impress all minds with anxiety, but not
sufficiently urgent to produce unanimity by the presence of
immediate danger. Pierrot kept his resolution, however; and the day
79. passed by without his having tasted any fluid stronger than water.
The next morning, though he did not feel himself altogether
comfortable, his nausea had departed, and he was more bold in his
purpose. About ten he was sent for to speak with the syndic, who
was much too wise a man to ask him questions which had any
relation to brandy. Clement Tournon, however, examined him closely
in regard to his knowledge of Edward Langdale, what letters he
brought, when he had sailed from England, whether the intimations
Jargeau had received had been accompanied by no information of
the young man's objects in coming to Rochelle.
"He had a long and stormy passage: that I know," answered Pierrot;
"and as to Jargeau, if he had any information he kept it to himself,
as he always does. But you can ask him himself, syndic. Whether the
lad has any letters, you should know better than I do; for, if he have,
they must be in his bags,—and you have had bags and keys too in
your hands these two days, when I have never had either at all."
"I pry not where I have no right," replied Clement Tournon, coldly.
"No hand opens his bags while he is alive and in my house. As for
Jargeau, he sees not matters as I do, or I would ask him for
information. The Lord Montagu I do not know, though you say the
youth is his page; and I cannot divine why that lord has sent him to
me. Indeed, I heard his lordship was in France."
"But he is the great Duke of Buckingham's right hand," said Pierrot;
"and perhaps Master Ned has been sent to you by the duke."
"I have some suspicion it may be so," answered the syndic. "I once
had some diamond pendants made for him in great haste; and
perhaps he wishes to employ me again."
"In making cannon-balls this time, perhaps, monsieur," said Pierrot,
dryly; but, to his surprise, the syndic answered, quite calmly,
"Perhaps so; for I am told that this morning at daybreak a fleet of
ships-of-war was descried standing in toward Rochelle, and the
people thought it was under English colors."
80. He looked keenly at Pierrot as he spoke; but the countenance of the
latter at once showed that he had not been trying to deceive any
one as to the amount of his knowledge; and he clapped his hands,
exclaiming, "Hurrah! We shall have some stirring times again, then,
and shall not have to lie here cooped up like rats in a trap, but have
fighting every day, and——"
"Plenty of brandy," said the syndic, finishing the sentence for him.
"Not a drop, upon my salvation!" said Pierrot.
"Well, your salvation may a good deal depend upon your keeping
that resolution," replied the syndic, "for a man does many things
when he is drunk for which drunkenness can be no excuse, though it
may be an aggravation. But hark! What is that? It was a cannon-
shot, was it not? The fleet must be nearing the town. I must to the
council. Well, you may go in and see the young gentleman. But
mind, be as still as death. Say nothing to him; and, if he recognises
you, and asks you any questions, answer shortly and quietly, and
leave him. You said he was of gentle birth, I think. You are sure he is
of gentle birth?"
Though Pierrot might, and in fact did, think it strange that a
merchant of Rochelle should lay such stress upon gentle—otherwise
noble—birth, he assured the syndic, from what he had seen of the
English, that all the household pages of British noblemen were
selected from good families; and, while they were still speaking
together, one of the goldsmith's apprentices came to call the syndic
to the city council, telling him that a boat had just landed from the
English fleet.
Clement Tournon called for his gown and chain; and, after giving
repeated directions to Pierrot as to his demeanor in the chamber of
Master Ned, and donned his robes in the man's presence, he
proceeded to the town-hall, followed by two of his men.
The inclinations, if not the affections, of Pierrot were divided. He
would fain have gone to the hall to know the news of the day,—
81. news, as it proved, much more important than he dreamed of. But
then again came the thought of his poor young master; and, being a
conscientious man when he was sober, and sometimes a
conscientious man even when he was drunk, he fancied it a duty to
visit Master Ned. He soon found, however, that he could do nothing
in the world for him. The lad's mind still wandered terribly; and,
though he gave some indications of recollecting Pierrot, he asked
him no questions, and called him "My Lord Duke." Pierrot might then
have turned his steps to the hall, but in one of Ned's half-muttered
speeches the name of Jargeau was uttered; and, remembering that
personage would inevitably be at the place of meeting, the good
man thought it better to wait for tidings till the syndic returned.
The news arrived soon enough for Pierrot's mortification, and
immediately spread through the whole house. It was to the effect
that the Lord Denbigh, in command of a powerful British fleet, had
come to offer assistance to the town of Rochelle; that there had
been a warm and even angry debate in the council, but in the end
the anti-English party had prevailed, and all that Tournon and Guiton
could obtain was, that a civil reply should be made to the English
admiral, thanking him and King Charles for their proffered aid, but
declining it on the score that no previous intimation had been given
to the citizens of the approach of a fleet to their port.
82. CHAPTER VI.
"Sweet chimes the bell,
O'er slope and woodland pealing,
Mellow'd by distance to a tranquil sound;
Sweetly the rill,
Through moss-bank gently stealing,
Speaks peace around.
"Calm sinks the sun
Unto his golden slumber,
And folds the clouds around his radiant head:
Up springs the moon;
Her star-train without number
Say, 'Nought is dead!'
"All live again,
Although their life be hidden;
For the short space of earth's dominion here.
By Heaven's own voice,
The soul of man is bidden
To hope midst fear.
"All Nature's works,
Though into ashes turning,
Fill the whole heart with a consoling voice:—
Be ready, man!
And, with thy lamp still burning,
Watch and rejoice!"
So sang Lucette,—or, rather, such is a very poor translation of her
song. At the best it was but an old ditty, composed probably by
83. Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.
More than just a book-buying platform, we strive to be a bridge
connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.
Join us on a journey of knowledge exploration, passion nurturing, and
personal growth every day!
ebookbell.com