Upload
magnus-nicholson
View
215
Download
0
Tags:
Embed Size (px)
Citation preview
Copyright © 2002 ProsoftTraining. All rights reserved.
JavaServer Pages
Copyright © 2002 ProsoftTraining. All rights reserved.
Lesson 1:Introduction to
JavaServer Pages
Objectives
• Define JavaServer Pages (JSP)• Define Java servlets• Define Enterprise JavaBeans (EJB)• Compare JSP to other server-side
programming environments• Explain the advantages of JSP• Understand the mechanics of JSP documents• Use basic JSP syntax• Describe how to invoke JSP documents
What IsEnterprise JavaBeans (EJB)?
• EJB = An architecture for deploying component-based distributed applications– J2EE-compliant application servers
What AreJava Servlets?
• Java servlets provide the functionality of the CGI for Java-driven Web applications– Managed and executed on a Web server
that provides a servlet container– Executed within a single JVM and server
process
What Is JSP?
• Server-side programming environment– Contains normal HTML with special syntax
that allows dynamic content
Web Application Technologies
• Common Gateway Interface (CGI)• Server extensions• Server-side scripting
– ColdFusion– PHP Hypertext Preprocessor (PHP)
JSPAdvantages and Mechanics
• Java = powerful programming language– Built-in APIs
• JSP applications are portable• JSP engine locates the JSP document• JSP engine processes the JSP document
into a servlet• JSP engine passes control to servlet engine
BasicJSP Syntax
• Script blocks
<% //Java code %>
• JSP files with comments
<%-- JSP comment --%>
Summary
Define JavaServer Pages (JSP) Define Java servlets Define Enterprise JavaBeans (EJB) Compare JSP to other server-side
programming environments Explain the advantages of JSP Understand the mechanics of JSP documents Use basic JSP syntax Describe how to invoke JSP documents
Copyright © 2002 ProsoftTraining. All rights reserved.
Lesson 2:JSP Fundamentals
Objectives
• Describe various styles of JSP syntax• Use JSP expressions• Use JSP scriptlets• Use JSP declarations• Use predefined variables
EvaluatingJava Expressions
• Syntax:
<%= new java.util.Date( ) %>
Using JSP Scriptlets
• Scriptlets allow you to: – Perform complex operations within a JSP
document– Intersperse blocks of Java code with
normal HTML
Using JSP Declarations
• JSP declarations:– Provide a construct in which to declare
methods and variables– Do not produce output– Use the following syntax:
<%! //Java code %>
Using JSPPredefined Variables
• The request variable• The response variable• The out variable• The application variable• The session variable• The config variable• The pageContext variable• The page variable
Summary
Describe various styles of JSP syntax Use JSP expressions Use JSP scriptlets Use JSP declarations Use predefined variables
Copyright © 2002 ProsoftTraining. All rights reserved.
Lesson 3:JSP Directives
Objectives
• Define JSP directives• Use the page directive• Use page directive attributes• Use the include directive• Use the jsp:include element• Add and manipulate Java applets in JSP files
using the jsp:plugin element
Introductionto JSP Directives
• The page directive– The import attribute– The language attribute– The contentType attribute– The pageEncoding attribute– The extends attribute– The isThreadSafe attribute– The session attribute– The buffer attribute– The autoFlush attribute– The errorPage attribute– The isErrorPage attribute– The info attribute
IncludingFiles in JSP
• Using the include directive• Using the jsp:include element
Using thejsp:plugin Element
• The jsp:plugin element is used to:– Add Java applets to JSP files– Determine the appropriate tag for the client
browser accessing the JSP file
Summary
Define JSP directives Use the page directive Use page directive attributes Use the include directive Use the jsp:include element Add and manipulate Java applets in JSP files
using the jsp:plugin element
Copyright © 2002 ProsoftTraining. All rights reserved.
Lesson 4:JSP and JavaBeans
Objectives
• Define JavaBeans• Explain the concept of component-centric
architecture• Describe the advantages of JavaBeans• Instantiate JavaBeans• Use JSP-JavaBeans tags to access and
manipulate JavaBeans properties• Explain the conventions for constructing
JavaBeans• Use the serializable interface• Access JavaBeans through scripting elements
Component-Centric Architecture
• Component-centric architecture:– Allows for handling complexity– Divides complex systems into components
JavaBeans
Java server
Database server
JSP—JavaBeans Tags
Tag Description
<jsp:useBean> Used to instantiate a JavaBean and create a reference to it
<jsp:getProperty> Used to access a JavaBean property
<jsp:setProperty> Used to modify a JavaBean property
Rules forConstructing JavaBeans
• Class• Constructor• Property• Methods
– Regular methods– Access methods
The JavaBeanSerializable Interface
• When a JavaBean is serialized, its property values are frozen
• To make the JavaBean serializable, it should implement the Serializable interface
Accessing JavaBeans Through Scriptlets and Expressions
• After the <jsp:useBean> tag instantiates a JavaBean and has a reference to it, the JavaBean can be used in scriptlets and expressions throughout the scope of the JavaBean
Summary
Define JavaBeans Explain the concept of component-centric
architecture Describe the advantages of JavaBeans Instantiate JavaBeans Use JSP-JavaBeans tags to access and
manipulate JavaBeans properties Explain the conventions for constructing
JavaBeans Use the serializable interface Access JavaBeans through scripting elements
Copyright © 2002 ProsoftTraining. All rights reserved.
Lesson 5:JSP Custom Tagsand Tag Libraries
Objectives
• Describe JSP custom tags• Explain the need for JSP tag libraries• Define and use the taglib directive• Download, install and use a tag library• Create custom handler classes and descriptor
files• Create tag attributes• Use a custom tag• Deploy tag libraries
Why UseTag Libraries?
• Custom tag libraries:– Allow you to create complex objects that
can be used by JSP developers– Allow you to reuse code across multiple
JSP applications
UsingCustom Tags
• Using a tag library– The number of pre-existing tag libraries is
growing
Creating JSPCustom Tag Libraries
• Three steps to creating a custom tag:– Define a tag handler class– Define a tag library descriptor– Define a JSP page that uses the custom tag
• The taglib directive
Using CustomTags in JSP Files
• Key elements of a custom tag:– Tag name– Attributes– Nesting– Body content
Tag Handlers
TagLibrary Descriptor
• Root element = <taglib>• Subelements = tlibversion
shortname info
• Deploying tag libraries
Summary
Describe JSP custom tags Explain the need for JSP tag libraries Define and use the taglib directive Download, install and use a tag library Create custom handler classes and descriptor
files Create tag attributes Use a custom tag Deploy tag libraries
Copyright © 2002 ProsoftTraining. All rights reserved.
Lesson 6:JSP and Java Servlets
Objectives
• Define servlets• Write simple servlets• Discuss the difference between servlets and
JSPs• Explain the concept of MVC design pattern• Describe the layers of MVC design pattern• Explain Models 1 and 2 Web application designs• Define the RequestDispatcher interface• Use the RequestDispatcher to dispatch
requests
Servlets
• Java servlets = Java classes that implement the javax.servlet.Servlet interface
• Servlets have no main method for handling requests– Using the GET method
Servlets vs. JSP
• Manageability problems with servlets• How can JSP help?
WebApplication Architecture
• Presentation layer• Application layer• Control layer
MVCDesign Pattern
JSP vs. Servlet Architecture
• Model 1 architecture• Model 2 architecture• Model 1 and Model 2 architecture trade-offs
Model 1Architecture
Model 2Architecture
Page-Centric Design
Servlet-Centric Design
Controlling the Flowwith RequestDispatcher
• Acquiring a RequestDispatcher object• Using the RequestDispatcher object• Where to place the servlets• Incorporating another resource's output in a
servlet• Forwarding a request from a JSP to other
resources
Summary
Define servlets Write simple servlets Discuss the difference between servlets and
JSPs Explain the concept of MVC design pattern Describe the layers of MVC design pattern Explain Models 1 and 2 Web application
designs Define the RequestDispatcher interface Use the RequestDispatcher to dispatch
requests
Copyright © 2002 ProsoftTraining. All rights reserved.
Lesson 7:JSP,
HTML Forms and Databases
Objectives
• Describe the tiers in a three-tier distributed application
• Discuss a Web communication between tiers• Use HTML forms and their input elements• Use the request object to communicate
between HTML forms and JSP files• Explain the concept of relational databases• Use the main SQL statements• Describe Java Database Connectivity• Connect to a database and access information• Create an example of an HTML form
DistributedMulti-Tiered Applications
• Client tier• Server tier• Database tier
Steps in aTypical Web Communication
http://java.sun.com/getjava/download.html
Hypertext Transfer Protocol
Host name
Path name
HTML Forms
• Text field input
• Radio button input
• Check box input
• Drop-down menu input
• Reset and submit buttons
Request Object
• Contains:– Methods for storing and retrieving attribute
values– Methods for accessing request parameters– Methods for retrieving request headers– Methods for other uses
RelationalDatabases
• Database Management System (DBMS)• Queries
StructuredQuery Language (SQL)
• Data Definition Language (DDL)• Data Manipulation Language (DML)• Data Control Language (DCL)
Java DatabaseConnectivity (JDBC)
• Load a JDBC driver• Connect to a database• Execute SQL statements• Disconnect from a database
Summary
Describe the tiers in a three-tier distributed application
Discuss a Web communication between tiers Use HTML forms and their input elements Use the request object to communicate
between HTML forms and JSP files Explain the concept of relational databases Use the main SQL statements Describe Java Database Connectivity Connect to a database and access information Create an example of an HTML form
JavaServer Pages
Introduction to JavaServer Pages JSP Fundamentals JSP Directives JSP and JavaBeans JSP Custom Tags and Tag Libraries JSP and Java Servlets JSP, HTML Forms and Databases