3. 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
4. What Is
Enterprise JavaBeans (EJB)?
• EJB = An architecture for deploying
component-based distributed applications
– J2EE-compliant application servers
5. What Are
Java 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
6. What Is JSP?
• Server-side programming environment
– Contains normal HTML with special syntax
that allows dynamic content
7. Web Application Technologies
• Common Gateway Interface (CGI)
• Server extensions
• Server-side scripting
– ColdFusion
– PHP Hypertext Preprocessor (PHP)
8. JSP
Advantages 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
14. Using JSP Scriptlets
• Scriptlets allow you to:
– Perform complex operations within a JSP
document
– Intersperse blocks of Java code with
normal HTML
15. 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 %>
16. Using JSP
Predefined 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
17. Summary
Describe various styles of JSP syntax
Use JSP expressions
Use JSP scriptlets
Use JSP declarations
Use predefined variables
19. 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
20. Introduction
to 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
22. Using the
jsp: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
23. 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
25. 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
28. 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
30. The JavaBean
Serializable Interface
• When a JavaBean is serialized, its property
values are frozen
• To make the JavaBean serializable, it should
implement the Serializable interface
31. 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
32. 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
34. 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
35. Why Use
Tag 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
37. Creating JSP
Custom 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
38. Using Custom
Tags in JSP Files
• Key elements of a custom tag:
– Tag name
– Attributes
– Nesting
– Body content
40. Tag
Library Descriptor
• Root element = <taglib>
• Subelements = tlibversion
shortname
info
• Deploying tag libraries
41. 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
43. 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
44. Servlets
• Java servlets = Java classes that implement
the javax.servlet.Servlet interface
• Servlets have no main method for handling
requests
– Using the GET method
45. Servlets vs. JSP
• Manageability problems with servlets
• How can JSP help?
53. Controlling the Flow
with 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
54. 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
56. 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
58. Steps in a
Typical Web Communication
http://java.sun.com/getjava/download.html
Hypertext
Transfer
Protocol
Host name
Path name
59. HTML Forms
• Text field input
• Radio button input
• Check box input
• Drop-down menu input
• Reset and
submit buttons
60. Request Object
• Contains:
– Methods for storing and retrieving attribute
values
– Methods for accessing request parameters
– Methods for retrieving request headers
– Methods for other uses
64. 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
65. 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