Java.. servlets and. murach's TRAINING & REFERENCE 2ND EDITION. Joel Murach Andrea Steelman. IlB MIKE MURACH & ASSOCIATES, INC.

Similar documents
Table of Contents. Introduction... xxi

About the Authors. Who Should Read This Book. How This Book Is Organized

1 CUSTOM TAG FUNDAMENTALS PREFACE... xiii. ACKNOWLEDGMENTS... xix. Using Custom Tags The JSP File 5. Defining Custom Tags The TLD 6

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p.

GUJARAT TECHNOLOGICAL UNIVERSITY

COPYRIGHTED MATERIAL

Advance Java. Configuring and Getting Servlet Init Parameters per servlet

Fast Track to Java EE 5 with Servlets, JSP & JDBC

Oracle 10g: Build J2EE Applications

Fast Track to Java EE

Database. Request Class. jdbc. Servlet. Result Bean. Response JSP. JSP and Servlets. A Comprehensive Study. Mahesh P. Matha

112. Introduction to JSP

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

Developing Applications with Java EE 6 on WebLogic Server 12c

Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1

112-WL. Introduction to JSP with WebLogic

servlets and Java JSP murach s (Chapter 2) TRAINING & REFERENCE Mike Murach & Associates Andrea Steelman Joel Murach

ive JAVA EE C u r r i c u l u m

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

Introduction to JSP and Servlets Training 5-days

This course is intended for Java programmers who wish to write programs using many of the advanced Java features.

ADVANCED JAVA COURSE CURRICULUM

Contents at a Glance

HYPERION SYSTEM 9 BI+ GETTING STARTED GUIDE APPLICATION BUILDER J2EE RELEASE 9.2

AIM. 10 September

CS506 Web Design & Development Final Term Solved MCQs with Reference

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started

Web Development with Java

JSP MOCK TEST JSP MOCK TEST IV

Ch04 JavaServer Pages (JSP)

AN ISO 9001:2008 CERTIFIED COMPANY ADVANCED. Java TRAINING.

COWLEY COLLEGE & Area Vocational Technical School

FINALTERM EXAMINATION Spring 2009 CS506- Web Design and Development Solved by Tahseen Anwar

Specialized - Mastering JEE 7 Web Application Development

Projects. How much new information can fit in your brain? Corporate Trainer s Profile TECHNOLOGIES

JAVA 2 ENTERPRISE EDITION (J2EE)

/ / JAVA TRAINING

Page 1

Java 2 Platform, Enterprise Edition: Platform and Component Specifications

Advanced Java Programming

1Z Java EE 6 Web Component Developer Certified Expert Exam Summary Syllabus Questions

Murach s Beginning Java with Eclipse

Web Application Architecture (based J2EE 1.4 Tutorial)

Contents at a Glance. vii

Unit 5 JSP (Java Server Pages)

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

Watch Core Java and Advanced Java Demo Video Here:

Web Component Development with Servlet and JSP Technologies, Java EE 6

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

Module 3 Web Component

Module 5 Developing with JavaServer Pages Technology

The project is conducted individually The objective is to develop your dynamic, database supported, web site:

IT6503 WEB PROGRAMMING. Unit-I

Java Training Center, Noida - Java Expert Program

TABLE OF CONTENTS CHAPTER TITLE PAGE

Appendix C WORKSHOP. SYS-ED/ Computer Education Techniques, Inc.

Contents. Acknowledgments

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module

640 Index architecture overview of JSF 23 ArrayDataModel class 185 attribute tag 86 attributes basic HTML tag 90 custom components 357 data tables 166

UNIT I Java Bean, HTML & Javascript

Java EE 6: Develop Web Applications with JSF

web.xml Deployment Descriptor Elements

PSD1B Advance Java Programming Unit : I-V. PSD1B- Advance Java Programming

Full Stack Java Developer Course

Vendor: SUN. Exam Code: Exam Name: Sun Certified Web Component Developer for J2EE 5. Version: Demo

Anno Accademico Laboratorio di Tecnologie Web. Sviluppo di applicazioni web JSP

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

A Gentle Introduction to Java Server Pages

CORE JAVA 1. INTRODUCATION

Mastering BEA WebLogic Server Best Practices for Building and Deploying J2EE Applications

Java SE7 Fundamentals

SUN Enterprise Development with iplanet Application Server

Securing Apache Tomcat. AppSec DC November The OWASP Foundation

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

Enhydra 6.2 Application Architecture. Tanja Jovanovic

PHP & My SQL Duration-4-6 Months

An Introduction to JavaScript & Bootstrap Basic concept used in responsive website development Form Validation Creating templates

Introduction to J2EE...xxvii. Chapter 1: Introducing J2EE... 1 Need for Enterprise Programming... 3 The J2EE Advantage... 5

CSC 8205 Advanced Java

Courses For Event Java Advanced Summer Training 2018

Java J Course Outline

JAVA MICROSERVICES. Java Language Environment. Java Set Up. Java Fundamentals. Packages. Operations

Internet Technologies. Lab Introduction

WAS: WebSphere Appl Server Admin Rel 6

WEB DEVELOPMENT COURSE

Building Web Applications With The Struts Framework

LTBP INDUSTRIAL TRAINING INSTITUTE

IN PRACTICE. Daniele Bochicchio Stefano Mostarda Marco De Sanctis. Includes 106 practical techniques MANNING

LearningPatterns, Inc. Courseware Student Guide

"Charting the Course... WebSphere Portal 8 Development using Rational Application Developer 8.5. Course Summary

SESM Components and Techniques

Experiment No: Group B_2

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

[Course Overview] After completing this module you are ready to: Develop Desktop applications, Networking & Multi-threaded programs in java.

Free Downloads Java Servlet & JSP Cookbook

The team that wrote this redbook

The 4D Web Companion. David Adams

User Manual. Admin Report Kit for IIS 7 (ARKIIS)

Transcription:

TRAINING & REFERENCE murach's Java.. servlets and 2ND EDITION Joel Murach Andrea Steelman IlB MIKE MURACH & ASSOCIATES, INC. P 1-800-221-5528 (559) 440-9071 Fax: (559) 440-0963 murachbooks@murach.com www.murach.com

Contents Introduction Section 1 Introduction to servlet and JSP programming Chapter 1 An introduction to web programming with Java 3 Chapter 2 How to install and use Tomcat 29 Chapter 3 How to use the NetBeans IDE 61 Section 2 Essential setrvlet and JSP skills Chapter 4 A crash course in HTML 105 Chapter 5 How to develop JavaServer Pages 137 Chapter 6 How to develop servlets 173 Chapter 7 How to structure a web application with the MVC pattern 201 Chapter 8 How to work with sessions and cookies 243 Chapter 9 How to use standard JSP tags with JavaBeans 287 Chapter 10 How to use the JSP Expression Language (EL) 311 Chapter 11 How to use the JSP Standard Tag Library (JSTL) 337 Chapter 12 How to use custom JSP tags 375 Section 3 Essential database skills Chapter 13 Chapter 14 How to use MySQL as the database management system How to use JDBC to work with a database Section 4 Advanced servlet and JSP skills Appendix A Index How to set up your computer for this book xvii 415 441 Chapter 15 How to use JavaMail to send email 487 Chapter 16 How to use SSL to work with a secure connection 513 Chapter 17 How to restrict access to a web resource 531 Chapter 18 How to work with HTTP requests and responses 555 Chapter 19 How to work with listeners 583 Chapter 20 How to work with filters 599 Section 5 The Music Store web site Chapter 21 An introduction to the Music Store web site 623 Chapter 22 The Download application 649 Chapter 23 The Cart application 661 Chapter 24 The Admin application 683 Resources 703. 719

Expanded contents JSP programming Chapter 1 An introduction to web programming with Java An introduction to web applications 4 A typical web application : 4 The components of a web application 6 How static web pages work 8 How dynamic web pages work 10 An introduction to Java web programming 12 The components of a Java web application 12 An introduction to JavaServer Pages 14 An introduction to servlets 18 How to combine servlets and JSPs in a web application 18 An introduction to Java web development 20 Three environments for servlet and JSP development 20 The architecture for a Java web application 22 IDEs for developing Java web applications 24 Tools for deploying Java web applications 26 Chapter 2 How to install and use Tomcat How to get started with Tomcat ". 30 How to install Tomcat 30 A summary of Tomcat's directories and files 32 How to set the JAVA_HOME environment variable 34 How to start and stop Tomcat 36 How to test Tomcat 38 A quick guide to troubleshooting 40 Two common Tomcat problems and how to solve them 40 How to change the port that's used by Tomcat ^r. 42 How to manually deploy and run a web application 44 How to deploy a web application 44 How to run a web application 44 The standard directories and files for a web application 46 An introduction to the web.xml file 48 How to work with Tomcat's Web Application Manager 50 How to start the Web Application Manager 50 How to start and stop web applications 52 How to undeploy a web application 52 Two more configuration issues 54 How to turn on servlet reloading 54 How to map the invoker servlet 56 Chapter 3 How to use the NeftBeans IDE How to install and configure NetBeans 62 How to install NetBeans 62 How to start NetBeans 64 How to configure a Tomcat server : 66 How to register a database connection 70

VIiI Expanded contents How to get started with NetBeans 72 How to create a new web application 72 How to use the Projects window 74 How to open and close projects._ 76 How to set the main project '. 76 How to build, deploy, and run a web application 78 How to work with HTML and JSP files 80 How to add an HTML or JSP file 80 How to edit an HTML or JSP file '. 82 How to work with Java files 84 How to add a Java class 84 How to adda servlet 86 How to edit a Java file 88 How to work with XML files 90 How to edit the web.xml file 90 How to edit other XML files 90 Other skills for working with'web applications 92 How to add existing files to a project 92 How to deploy a web application to a remote server 92 How to work with a web application server 94 How to add a class library or a JAR file to a project 96 Chapter 4 A crash course in HTML How to code HTML documents 106 Tools for working with HTML 106 An HTML document 106 How to code common tags, 108 How to code links 110 How to code tables 112 How to include images ^r. 116 How to use a style sheet 118 How to code HTML forms 120 How to code a form 120 How to code text boxes, password boxes, and hidden fields 122 How to code buttons 124 How to code check boxes and radio buttons 126 How to code combo boxes and list boxes 128 How to code text areas. 130 How to set the tab order of controls 132 Chapter 5 How to develop JavaServer Pages The Email List application 138 The user interface for the application 138 The code for the HTML page that calls the JSP 140 The code for the JSP 142 How to code a JSP 144 How to code scriptlets and expressions 144 How to use the methods of the request object 146 How to get the real path for a file 148

Expanded contents IX How to request a JSP 150 How to request.a.jsp with the HTTP Get method 150 How to request a JSP with the.http Post method 152 When to use the HTTP Get and Post methods 152 How to use regular. Java classes with JSPs 154 The code for the User and UserlO classes 154 A JSP that uses the User and UserlO classes 158 How to use three more types of JSP tags 160 'How to import classes 160 How to code comments in a JSP 162 How to declare instance variables and methods 164 How to work with JSP errors 166 How to fix common JSP errors 166 When and how to view the servlet that's generated for a JSP 168 Chapter 6 Chapter 7 How to develop servlets The Email List application 174 The user interface for the application 174 The code for the HTML page that calls the servlet.". 176 The code for the servlet 178 The mapping for the servlet 180 How to code, map, and request a servlet,. 182 How to code a servlet 182 How to map a servlet to a URL 184 How to request a servlet 186 More skills for working with servlets 188 The methods of a servlet 188 How to code instance variables 190 How to work with servlet errors 192 How to solve common servlet problems 192 How to print debugging data to the console 194 How to print debugging data to a log file >.. 196 How to structure a web application with the MVC pattern The Email List application ' 202 The code for the servlet 202 The code for the JSP 204 Two architectures for web applications 206 The Model 1 architecture 206 The Model-View-Controller (MVC) pattern ' 208 How to forward requests and redirect responses 210 How to get and set request attributes 210 How to forward requests 212 How to redirect responses 212 How to validate data 214 How to use JavaScript to validate data on the client 214 How to use a servlet to validate data on the server 218 How to include a file in a JSP 224 A JSP that includes a header and footer file : 224 Two techniques for including files in a JSP 228

Expanded contents How to use the web.xml file 230 Basic techniques for working with a web.xml file 230 How to work with initialization parameters 232 How to implement custom error handling 236 Chapter 8 How to work with sessions and cookies An introduction to session tracking 244 Why session tracking is difficult with HTTP 244 How session tracking works in Java 244 An application that needs session tracking 246 How to work with sessions 248 How to set and get session attributes 248 More methods of the session object 250 How to enable or disable cookies ; 252 How to use URL encoding to track sessions without cookies 254 How to provide thread-safe access to the session object 256 How to work with cookies 258 An introduction to'cookies 258 How to create and use cookies 260 How to view and delete cookies 262 Four methods for working with cookies 264 A utility class for working with cookies 266 How to work with URL rewriting and hidden fields 268 How to use URL rewriting to pass parameters 268 How to use hidden fields to pass parameters 270 The Download application 272 The user interface 272 The file structure 274 The web.xml file 274 The code for the JSPs and servlets! 276 Chapter 9 How to use standard JSP tags with JavaBeans An introduction to JavaBeans 288 How to code a JavaBean, 288 A JSP that uses a JavaBean 290 How to code JSP tags for JavaBeans 292 How to code the usebean tag 292 How to code the getproperty and setproperty tags 294 How to set the properties of a bean from request parameters 296 How to set non-string data types in a bean 298 How to use interface and abstract class types with beans 300 The Email List application with JSP tags for JavaBeans 302 The application when the MVC pattern is used 302 The application when the Model 1 architecture is used 306 Chapter 10 How to use the JSP Expression Language (EL) An introduction to JSP Expression Language 312 Advantages of EL '. 312 Disadvantages of EL 312 Essential skills for working with EL 314 How to use the dot operator to work with JavaBeans and maps 314 How to use EL to specify scope 316

Expanded contents XI How to use the [ ] operator to work with arrays.and lists 318 How to use the dot operator to access nested, properties 320 Other skills for working with EL... 322 How to use the [ ] operator to access attributes 322 How to work with the other implicit EL objects ' 324 How to work with other EL operators 328 How to disable EL 332 How to disable scripting 332 Chapter 11 How to use the JSP Standard Tag Library (JSTL) An introduction to JSTL 338 The JSTL libraries \.: : 338 How to make the JSTL JAR files available to your application 338 How to code the taglib directive 338 How to code a JSTL tag 338 How to view the documentation for a library : 340 How to work with the JSTL core library 342 How to use the url tag 342 How to use the foreach tag '.' 344 How to use the fortokens tag 346 Four more attributes for looping 348 How to use the if tag 350 How to use the choose tag 352 How to use the import tag 354 Other tags in the JSTL core library 356 The Cart application ;.. 358 The user interface 358 The code for the business classes 360 The code for the servlets and JSPs 364 Chapter 12 How to use custom JSP tags How to code a custom tag that doesn't have a body 376 The tag : ^T 376 The tag element 378 The tag class.' ; 380 How to code a custom tag that has a body 382 The tag : 382 The tag element 384 The tag class 384 How to code a custom tag that has attributes 386 The tag 386 The tag element 388 The tag class 390 How to code a custom tag that reiterates its body 392 The tag 392 The tag element 394 The tag class 394 How to work with scripting variables 398 An introduction to scripting variables 398 The TEI class for four scripting variables 400

XII Expanded contents Classes, methods, and fields for working with custom tags 402 Methods and fields of the TagSupport class 402 Methods and fields of the PageContext class 404 Methods and fields of the BodyTagSupport class 406 Methods and fields of the BodyContent class, 408 Section3JEssentjal database Chapter 13 How to use MySQL as the database management system An introduction to MySQL..:... 416 What MySQL provides..,, 416 Two ways to interact with MySQL 418 How to connect to the MySQL database service, 420 How to start and stop the MySQL database service 422 How to work with the MySQL monitor 424 How to start and stop the MySQL monitor 424 How to create, select, and delete a database 426 How to create and delete a table 428 How to insert or load data into a table 430 The SQL statements for data manipulation 432 How to select data from a single table.; 432 How to select data from multiple tables 434 How to insert, update, and delete data 436 Chapter 14 How to use JDBC to work with a database How to work with JDBC 442 An introduction to database drivers 442 How to connect to a database 444 How to return a result set and move the cursor through it 446 How to retrieve data from a result set 448 How to insert, update, and delete data 450 How to work with prepared statements 452 The SQL Gateway application 454 The user interface 454 The code for the JSP 456 The code for the servlet 458 The code for the utility class. 462 How to work with connection pooling 464 How connection pooling works 464 How to make a connection pool available 464 How to implement a connection pool 466 How to use a connection pool 468 The Email List application, 470 The user interface 470 The code for the JSP 470 The code for the servlet 472 The code for the database class 474 The code for the utility class 480

Expanded contents XII i Section 4 Advanced servlet and JSP skills Chapter 15 How to use JavaBVIail to send email An introduction to the JavaMail API 488 How email works 488 How to install the JavaMail API 490 Code that uses the JavaMail API to send an email message 492 How to create and send an email message 494 How to create a mail session.< 494 How tocreate a message' 496 How to address a message 498 How to send a message 500 Example classes that send an email message 502 A helper class for sending an email with a local SMTP server 502 A servlet that uses a helper class to send an email message 504 A helper class for sending an email with a remote SMTP server 508 Chapter 16 How to use SSL to work with a secure connection An introduction to SSL, 514 How SSL works 514 How TLS works 514 When to use a secure connection '. 514 How SSL authentication works 516 How to get a digital secure certificate 518 How to configure a testing environment for SSL 520 How to create a certificate for testing 520 How to enable SSL in Tomcat 522 How to test a local SSL connection 522 How to work with a secure connection 524 How to request a secure connection.' 524 A JSP that uses a secure connection 526 How to return to a regular HTTP connection \ 526 How to switch from a local system to an Internet server 526 Chapter 17 How to restrict access to a web resource An introduction to authentication 532 How container-managed authentication works 532 Three types of authentication 534 How to restrict access to web resources 536 How to add a security role 536 How to add a security constraint 536 How to implement a security realm 538 How to implement the UserDatabaseRealm 538 How to implement the JDBCRealm 540 How to implement the DataSourceRealm 544 How to allow access to authorized users 546 How to use basic authentication 546 How to use digest authentication 546 How to use form-based authentication 548

XIV Expanded contents Chapter 18 How to work with HTTP requests and responses An introduction to HTTP.' 556 An HTTP request and response.'.-. 556 Common MIME types s 558 Common HTTP request headers 560 Common HTTP status codes 562 Common HTTP response headers 564 How to work with the request 566 How to get a request header '. 566 How to display all request headers : : 568 How to work with the response 572 How to set status codes 572 How to set response headers.-. 572 Practical skills for working with HTTP 574 How to return a tab-delimited file as an Excel spreadsheet 574 How to control caching 574 How to compress a response with GZIP 576 How to display the File Download dialog box -. 578 Chapter 19 How to work with listeners How to use a ServletContextListener 584 How to code a class for the listener 584 How to register the listener 586 How to code a JSP that uses the attributes set by the listener 588 How to work with other types of listeners 590 A summary of the listener interfaces 590 The methods of the listener interfaces 592 The methods of the event objects 594 Chapter 20 How to work with filters An introduction to filters 600 How filters work ^ 600 Two benefits of filters 600 When to use filters 600 How to add a filter : 602 How to code a filter 602 How to configure a filter 604 Two filter classes 608 How to code a filter that performs request-side processing 608 How to code a filter that performs response-side processing 610 Other skills for working with filters 612 How to wrap a request or response, 612 How to use an initialization parameter '. 616

Expanded contents XV Section 5 The Music Store web site Chapter 21 An introduction to the Music Store web site The user interface 624 The Home and Catalog pages '. 624 The code for the Home page 624 The structure 628 The structure of the web site 628 The directory structure 628 The web.xml file 628 The context.xml file : 628 The business layer 634 The class diagrams 634 The Product class, 634 The database... 638 The database diagram 638 The SQL script for the database 638 The data layer 642 The class diagrams 642 The ProductDB class 644 Chapter 22 The Download application The Download application 650 The user interface 650 The structure 650 The code 654 Chapter 23 The Cart application The Cart application 662 The user interface 662 The structure 666 The code ^". 668 Chapter 24 The Admin application An introduction to the Admin application 684 The Index page 684 The structure 684 The security ' 684 The Process Invoices application 688 The user interface 688 The code '. 690 The Reports application 696 The user interface '. 696 The code 696