0% found this document useful (0 votes)
155 views

09 JSP Intro

09 JSP Intro

Uploaded by

Hercules Le
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
155 views

09 JSP Intro

09 JSP Intro

Uploaded by

Hercules Le
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

Course Material Usage Rules

PowerPoint slides for use only in for-credit


courses at degree-granting institutions
Slides not permitted for commercial training courses
except when taught by coreservlets.com
(see http://courses.coreservlets.com).
Slides may be modified by instructor
But please retain reference to coreservlets.com
Instructor may give PDF or hardcopy to
students
But should protect the PowerPoint files

This slide is suppressed in Slide Show mode


1
2012 Marty Hall

JSP
Intro and Overview
Originals of Slides and Source Code for Examples:
http://courses.coreservlets.com/Course-Materials/csajsp2.html

Customized Java EE Training: http://courses.coreservlets.com/


Java, JSF 2, PrimeFaces, Servlets, JSP, Ajax, jQuery, Spring, Hibernate, RESTful Web Services, Hadoop, Android.
2 Developed and taught by well-known author and developer. At public venues or onsite at your location.
2012 Marty Hall

For live Java EE training, please see training courses


at http://courses.coreservlets.com/.
JSF 2, PrimeFaces, Servlets, JSP, Ajax (with jQuery), GWT,
Android development, Java 6 and 7 programming,
SOAP-based and RESTful Web Services, Spring, Hibernate/JPA,
XML, Hadoop, and customized combinations of topics.
Taught by the author of Core Servlets and JSP, More
Servlets and JSP, and this tutorial. Available at public
venues,Customized
or customized versions
Java EE Training: can be held on-site at your
http://courses.coreservlets.com/
organization. Contact hall@coreservlets.com for details.
Java, JSF 2, PrimeFaces, Servlets, JSP, Ajax, jQuery, Spring, Hibernate, RESTful Web Services, Hadoop, Android.
Developed and taught by well-known author and developer. At public venues or onsite at your location.
Agenda
Understanding the need for JSP
Evaluating the benefits of JSP
Comparing JSP to other technologies
Avoiding JSP misconceptions
Understanding the JSP lifecycle
Installing JSP pages
Looking at JSP in the real world

4
The Need for JSP
With servlets, it is easy to
Read form data
Read HTTP request headers
Set HTTP status codes and response headers
Use cookies and session tracking
Share data among servlets
Remember data between requests
Get fun, high-paying jobs
But, it sure is a pain to
Use those println statements to generate HTML
Maintain that HTML

5
The JSP Framework
Idea:
Use regular HTML for most of page
Mark servlet code with special tags
Entire JSP page gets translated into a servlet (once), and
servlet is what actually gets invoked (for each request)
Example:
<!DOCTYPE >
<HTML>
<HEAD>
<TITLE>Order Confirmation</TITLE>
<LINK REL=STYLESHEET
HREF="JSP-Styles.css"
TYPE="text/css">
</HEAD>
<BODY>
<H2>Order Confirmation</H2>
Thanks for ordering
<I><%= request.getParameter("title") %></I>!
</BODY></HTML>
6
Benefits of JSP
Although JSP technically cant do anything
servlets cant do, JSP makes it easier to:
Write HTML
Read and maintain the HTML
JSP makes it possible to:
Use standard HTML tools such as DreamWeaver
Have different members of your team do the HTML
layout than do the Java programming
JSP encourages you to
Separate the (Java) code that creates the content from the
(HTML) code that presents it
7
Higher-Level Alternative: JSF 2
Servlets and JSP
Well-established standard
Used by google.com, ebay.com, walmart.com, and thousands
of other popular sites
Relatively low level by todays standards
Covered in this tutorial
JSF (JavaServer Faces) Version 2
Now an official part of Java EE 6
But runs in any recent Java-enabled server, including Tomcat 6+
Higher-level features: integrated Ajax support, field
validation, page templating, rich third-party component
libraries, etc. Designed around the MVC approach.
Not yet as widely used, but recommended for many or most
new projects
Covered at http://www.coreservlets.com/JSF-Tutorial/jsf2/
8
Advantages of JSP Over
Competing Technologies
Versus ASP or ColdFusion
Better language for dynamic part
Portable to multiple servers and operating systems
Versus PHP
Better language for dynamic part
Better tool support
Versus pure servlets
More convenient to create HTML
Can use standard tools (e.g., DreamWeaver)
Divide and conquer
JSP programmers still need to know
servlet programming
9
Advantages of JSP (Continued)
Versus Velocity or WebMacro
Standard
Versus client-side JavaScript (in browser)
Capabilities mostly do not overlap with JSP, but
You control server, not client
Richer language
Versus server-side JavaScript
(e.g., LiveWire, BroadVision)
Richer language
Versus static HTML
Dynamic features
Adding dynamic features no longer
all or nothing decision
10
Setting Up Your Environment
Set your CLASSPATH. Not.
Compile your code. Not.
Use packages to avoid name conflicts. Not.
Put JSP page in special directory. Not.
Use the WebContent folder in Eclipse
Same as for HTML, GIF, JPEG, CSS, etc.
Use special URLs to invoke JSP page. Not.
Use same URLs as for HTML pages (except for file
extensions)
Caveats
Previous rules about CLASSPATH, install dirs, etc., still
apply to regular Java classes used by a JSP page
11
Example
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>JSP Expressions</TITLE>
<META NAME="keywords"
CONTENT="JSP,expressions,JavaServer Pages">
<META NAME="description"
CONTENT="A quick example of JSP expressions.">
<LINK REL=STYLESHEET
HREF="JSP-Styles.css"
TYPE="text/css">
</HEAD>

12
Example (Continued)
<BODY>
<H2>JSP Expressions</H2>
<UL>
<LI>Current time: <%= new java.util.Date() %>
<LI>Server: <%= application.getServerInfo() %>
<LI>Session ID: <%= session.getId() %>
<LI>The <CODE>testParam</CODE> form parameter:
<%= request.getParameter("testParam") %>
</UL>
</BODY></HTML>

13
Example: Result
If Eclipse project was
jsp-scripting
And folder was
WebContent
And file was
Expressions.jsp
URL would be
http://hostname/jsp-scripting/Expressions.jsp

14
Most Common Misunderstanding
Forgetting JSP is Server-Side Technology
Very common question
I cant do such and such with HTML.
Will JSP let me do it?
Why doesnt this question make sense?
JSP runs entirely on server
It doesnt change content the client (browser) can handle
Similar questions
How do I put a normal applet in a JSP page?
Answer: send an <applet> tag to the client
How do I put an image in a JSP page?
Answer: send an <img> tag to the client
How do I use JavaScript/Acrobat/Shockwave/Etc?
15
Answer: send the appropriate HTML tags
2nd Most Common Misunderstanding
Translation/Request Time Confusion
What happens at page translation time?
JSP constructs get translated into servlet code.
What happens at request time?
Servlet code gets executed. No interpretation of JSP
occurs at request time. The original JSP page is totally
ignored at request time; only the servlet that resulted from
it is used.
When does page translation occur?
Typically, the first time JSP page is accessed after it is
modified. This should never happen to real user
(developers should test all JSP pages they install).
Page translation does not occur for each request.
16
The JSP Lifecycle

Request Request Request Request Request Request


#1 #2 #3 #4 #5 #6
JSP page Yes No No No Yes No
translated into
servlet
Servlet Yes No No No Yes No
Page first written

Server restarted
compiled

Page modified
Servlet Yes No Yes No Yes No
instantiated
and loaded into
servers
memory
init (or Yes No Yes No Yes No
equivalent)
called
doGet (or Yes Yes Yes Yes Yes Yes
equivalent)
called

17
Ten Most Popular Web Sites
(Alexa.com, 2010)
1. Google 6. Baidu
Java (Web), Unknown
C++ (indexing) 7. Wikipedia
2. Facebook PHP
PHP 8. Blogger
3. YouTube Java
Flash, Python, Java 9. MSN
4. Yahoo .NET
PHP and Java 10.Twitter
5. Microsoft Live.com Ruby on Rails, Scala, Java
.NET
Fall 2010: Google reports over two billion Web pages that use JSP (inurl:jsp).

18
Keywords in Job Postings

19
JSP/Servlets in the Real World:
Airlines
Delta Airlines
United Airlines
AirTran
American
Airlines
British Airways
KLM
Air China
Saudi Arabian
Airlines
Iceland Air
20
JSP/Servlets in the Real World:
Travel Sites
Travelocity.com
Orbitz.com
HotWire.com
Hotels.com
CheapTickets.
com
National Car
Rental
Avis Car Rental
Enterprise
Car Rental
Hertz Car
Rental
21
JSP/Servlets in the Real World:
Financial Services
American
Century
Vanguard
Fidelity
NY Stock
Exchange
First USA Bank
Royal Bank of
Scotland
Banco Popular de
Puerto Rico
Bank of America
China
Construction
Bank
22
JSP/Servlets in the Real World:
Retail
Sears.com
Walmart.com
HomeDepot.com
SamsClub.com
Macys.com
llbean.com
Kohls.com
Ikea.com
Target.com
Longaberger.com
Nike.com
CircuitCity.com
23
JSP/Servlets in the Real World:
Entertainment
WarnerBrothers.
com
Billboard.com
E!
(eonline.com)
PBS.org
Comcast
games.atari.com

24
JSP/Servlets in the Real World:
Military and Federal Government
DHS
TSA
FAA
CIA
NSA
GSA
IRS
Army
Navy
USPS

25
Science and Research
NSF
UN
Oceans
diabetes.org
fas.org
dlse.org
science.edu.sg
gbif.net
collegeboard
.com

26
JSP/Servlets in the Real World:
State, Local, International

27
JSP/Servlets in the Real World:
Sports
Baltimore
Orioles
Washington
Redskins
Washington
Nationals
Major League
Baseball
NHL.com
Nascar.com

28
JSP/Servlets in the Real World:
Search/Portals
Most of Google
All of Ebay
netscape.com
excite.com
dice.com
hi5
Paypal

29
JSP/Servlets in the Real World:
Random Amusing

30
Summary
JSP is more convenient, not more powerful
JSP makes it easier to create and maintain HTML, while
still providing full access to servlet code
JSP pages get translated into servlets
It is the servlets that run at request time
Client does not see anything JSP-related
You still need to understand servlets
Understanding how JSP really works
Servlet code called from JSP
Knowing when servlets are better than JSP
Mixing servlets and JSP
Other technologies use similar approach,
But arent as portable and dont let you use Java for the
real code
31
2012 Marty Hall

Questions?
JSF 2, PrimeFaces, Java 7, Ajax, jQuery, Hadoop, RESTful Web Services, Android, Spring, Hibernate, Servlets, JSP, GWT, and other Java EE training

Customized Java EE Training: http://courses.coreservlets.com/


Java, JSF 2, PrimeFaces, Servlets, JSP, Ajax, jQuery, Spring, Hibernate, RESTful Web Services, Hadoop, Android.
32 Developed and taught by well-known author and developer. At public venues or onsite at your location.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy