SlideShare a Scribd company logo
Copyright @ 2000 Jordan Anastasiade. All rights rese1
JavaServer Pages
In this lesson you will be learning about:
What JSP Technology is and how you can use it.
How to define and write JSP Page.
Syntax of JSP Page.
How do JSP pages work.
How is a JSP page invoked and compiled.
Use of Beans in a JSP Page.
How one could create XML pages using JSP technology.
JavaServer Pages v1.2
Copyright @ 2000 Jordan Anastasiade. All rights rese2
JavaServer Pages Technology
JavaServer Pages (JSP) technology provides a simplified,
fast way to create web pages that display dynamically-
generated content.
The JSP 1.2specification is an important part of the Java
2 Platform, Enterprise Edition. Using JSP and
Enterprise JavaBeans technologies together is a great
way to implement distributed enterprise applications
with web-based front ends.
The first place to check for information on JSP
technology is http://java.sun.com/products/jsp/
Copyright @ 2000 Jordan Anastasiade. All rights rese3
JSP Page
A JSP page is a page created by the web developer that includes JSP
technology-specific tags, declarations, and possibly scriptlets, in
combination with other static HTML or XML tags.
A JSP page has the extension .jsp; this signals to the web server that
the JSP engine will process elements on this page.
Pages built using JSP technology are typically implemented using a
translation phase that is performed once, the first time the page is
called. The page is compiled into a Java Servlet class and remains in
server memory, so subsequent calls to the page have very fast
response times.
Put .jsp pages into a WAR file (see Web ARchive)
Deploy (upload) the WAR file as a Web Application to your Sun
Java System Application Server Platform.
Copyright @ 2000 Jordan Anastasiade. All rights rese4
Overview
JavaServer Pages (JSP) lets you separate the dynamic
part of your pages from the static HTML.
HTML tags and text
<% some JSP code here %>
HTML tags and text
<I>
<%= request.getParameter("title") %>
</I>
You normally give your file a .jsp extension, and
typically install it in any place you could place a normal
Web page
Copyright @ 2000 Jordan Anastasiade. All rights rese5
Client and Server with JSP
Copyright @ 2000 Jordan Anastasiade. All rights rese6
Translation Time
A JSP application is usually a collection of JSP files,
HTML files, graphics and other resources.
A JSP page is compiled when your user loads it into a
Web browser
1. When the user loads the page for the first time, the files that make up
the application are all translated together, without any dynamic data,
into one Java source file (a .java file)
2. The .java file is compiled to a .class file. In most implementations,
the .java file is a Java servlet that complies with the Java Servlet API.
Copyright @ 2000 Jordan Anastasiade. All rights rese7
Simple JSP Page
<%@ page info=“A Simple JSP Sample” %>
<HTML>
<H1> First JSP Page </H1>
<BODY>
<% out.println(“Welcome to JSP world”); %>
</BODY>
</HTML>
Copyright @ 2000 Jordan Anastasiade. All rights rese8
How JSP Works?
User Request – JSP File RequestedUser Request – JSP File Requested
ServerServer
File
Changed
File
ChangedCreate Source from JSPCreate Source from JSP
CompileCompile Execute ServletExecute Servlet
Copyright @ 2000 Jordan Anastasiade. All rights rese9
JSP Elements
Declarations <%! code %>
<jsp:declaration>
</jsp:declaration >
Expressions <%= expression %>
<jsp:expression>
</jsp:expression>
Scriplets <% code %>
<jsp:scriplet>
</jsp:scriplet >
Copyright @ 2000 Jordan Anastasiade. All rights rese10
HTML Comment
Generates a comment that is sent to the client.
Syntax
<!-- comment [ <%= expression %> ] -->
Example:
<!-- This page was loaded on
<%= (new java.util.Date()).toLocaleString() %>
-->
Copyright @ 2000 Jordan Anastasiade. All rights rese11
Declaration
Declares a variable or method valid in the scripting language used in
the JSP page.
 Syntax
<%! declaration; [ declaration; ]+ ... %>
 Examples
<%! String destin; %>
<%! Public String getDestination()
{return destin;}%>
<%! Circle a = new Circle(2.0); %>
 You can declare any number of variables or methods within one declaration
element, as long as you end each declaration with a semicolon.
 The declaration must be valid in the Java programming language.
Copyright @ 2000 Jordan Anastasiade. All rights rese12
Declaration Example
<HTML>
<HEAD><TITLE>JSP Declarations</TITLE></HEAD>
<BODY><H1>JSP Declarations</H1>
<%! private int keepCount = 0; %>
<H2>
Page accessed:
<%= ++keepCount %>
times
</H2>
</BODY>
</HTML>
Copyright @ 2000 Jordan Anastasiade. All rights rese13
Predefined Variable – Implicit
Objects
request – Object of HttpServletRequest (request parameters, HTTP headers,
cookies
response – Object of HttpServletResponse
out - Object of PrintWriter buffered version JspWriter
session - Object of HttpSession associated with the request
application - Object of ServletContext shared by all servlets in the engine
config - Object of ServletConfig
pageContext - Object of PageContext in JSP for a single point of access
page – variable synonym for this object
Copyright @ 2000 Jordan Anastasiade. All rights rese14
Expression
Contains an expression valid in the scripting language used in the
JSP page.
 Syntax
<%= expression %>
<%! String name = new String(“JSP World”); %>
<%! public String getName() { return name; } %>
<B><%= getName() %></B>
 Description:
An expression element contains a scripting language expression that is
evaluated, converted to a String, and inserted where the expression appears
in the JSP file.
 Because the value of an expression is converted to a String, you can use an
expression within a line of text, whether or not it is tagged with HTML, in a
JSPfile. Expressions are evaluated from left to right.
Copyright @ 2000 Jordan Anastasiade. All rights rese15
Expression Example
<HTML>
<HEAD>
<TITLE>JSP Expressions</TITLE>
</HEAD>
<BODY>
<H2>JSP Expressions</H2>
<UL>
<LI>Current time: <%= new java.util.Date() %>
<LI>Your hostname: <%= request.getRemoteHost()
%>
<LI>Your session ID: <%= session.getId() %>
</UL>
</BODY>
</HTML>
Copyright @ 2000 Jordan Anastasiade. All rights rese16
Scriptlet
Contains a code fragment valid in the page scripting
language.
 Syntax
<% code fragment %>
<%
String var1 = request.getParameter("name");
out.println(var1);
%>
This code will be placed in the generated servlet method:
_jspService()
Copyright @ 2000 Jordan Anastasiade. All rights rese17
Scriplet Example
<HTML>
<HEAD><TITLE>Weather</TITLE></HEAD>
<BODY>
<H2>Today's weather</H2>
<% if (Math.random() < 0.5) { %>
Today will be a <B>suny</B> day!
<% } else { %>
Today will be a <B>windy</B> day!
<% } %>
</BODY>
</HTML>
Copyright @ 2000 Jordan Anastasiade. All rights rese18
JSP Lifecycle
jspInit()jspInit()
jspDestroy()jspDestroy()
jspService()jspService()
Servlet from JSP
Init Event
Request
Response
Destroy Event
Copyright @ 2000 Jordan Anastasiade. All rights rese19
JSP Page Directive
Directives are messages to the JSP container and do not produce
output into the current output stream
 Syntax:
<%@ directive attribute=“value” %>
<%@ directive attribute1=“value1”
attribute1 =“value2” … %>
There are three types of directives:
1. page
2. include
3. taglib
XML form:
<jsp:directive.directiveType
attribute=“value” />
Copyright @ 2000 Jordan Anastasiade. All rights rese20
Page Directive
Defines attributes that apply to an entire JSP
page.
<%@ page
[ language="java" ]
[ extends="package.class" ]
[ import="{package.class |
package.*}, ..." ]
[ session="true|false" ]
[ buffer="none|8kb|sizekb" ]
[ autoFlush="true|false" ]
[ isThreadSafe="true|false" ]
[ info="text" ]
[ errorPage="relativeURL" ]
[ contentType="mimeType [
;charset=characterSet ]"
[ isErrorPage="true|false" ]
%>
Copyright @ 2000 Jordan Anastasiade. All rights rese21
Include Directive
Includes a static file in a JSP file, parsing the file's JSP elements.
 Syntax
<%@ include file="relativeURL" %>
The <%@ include %> directive inserts a file of text or code in a JSP file
at
translation time, when the JSP file is compiled.
<%@ include %> process is static. A static include means that the text of
the included file is added to the JSP file.
The included file can be:
1. JSP file,
2. HTML file,
3. text file.
Copyright @ 2000 Jordan Anastasiade. All rights rese22
Taglib Directive
Defines a tag library and prefix for the custom
tags used in the JSP page.
 Syntax
<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix"
%>
<%@ taglib uri="http://thathost/tags" prefix="public"
%>
<public:loop>
</public:loop>
The <%@ taglib %> directive declares that the JSP file uses custom tags,
names the tag library that defines them, and specifies their tag prefix.
Copyright @ 2000 Jordan Anastasiade. All rights rese23
Server Redirection
One can forward to a text file (HTML), a CGI script, a servlet or another
JSP page.
One can only forward to a new page, provided no output of the original
page has been sent to the browser.
One may pass as many parameters as one needs with this method by
using the param tag.
The forward action ends execution of the current JSP page and removes
any existing buffered output. The new page has access to application,
request, and session objects as the starting file. A new pageContext
object is generated for the page. To the browser, it will appear you have
the originally requested page, not the page to which you are transferred.
Example:
<jsp:forward page="home/Default.jsp" >
<jsp:param name="source" value="entry"/>
</jsp:forward>
Copyright @ 2000 Jordan Anastasiade. All rights rese24
<jsp:forward>
Forwards a client request to an HTML
file, JSP file, or servlet for processing.
Syntax
<jsp:forward page="{relativeURL | <%= expression
%>}" />
<jsp:forward page="{relativeURL | <%= expression
%>}" >
<jsp:param name="parameterName"
value="{parameterValue | <%= expression
%>}" />+
</jsp:forward>
Copyright @ 2000 Jordan Anastasiade. All rights rese25
<jsp:useBean>
Locates or instantiates a bean with a specific
name and scope.
<jsp:useBean
id="beanInstanceName"
scope="page|request|session|application"
{ class="package.class" |
type="package.class" |
class="package.class" type="package.class" |
beanName="{package.class | <%= expression %>}“
}
{ /> |
> other elements
</jsp:useBean>
}
Copyright @ 2000 Jordan Anastasiade. All rights rese26
Attributes and Usage
id="beanInstanceName"
A variable that identifies the bean in the scope you specify. The name
is case sensitive and must conform to the naming conventions of the
scripting language used in the JSP page
scope="page|request|session|application“
page One can use the bean within the JSP page with the
<jsp:useBean> element or any of the page's static include files, until
the page sends a response back to the client or forwards a request to
another resource
request One can use the bean from any JSP page processing the same
request, until a JSP page sends a response to the client or forwards the
request to another resource. One can use the request object to access
the bean, for example,
request.getAttribute(beanInstanceName).
session One can use the bean from any JSP page in the same session
as the JSP page that created the bean. The bean exists across the entire
session, and any page that participates in the session can use it. The
page in which you create the bean must have a page directive with
session="true".
Copyright @ 2000 Jordan Anastasiade. All rights rese27
Different Scope
ApplicationApplication
SessionSession
RequestRequest
PagePage
Least visible
Most visible
Objects accessible only within pages
where they were created.
Objects accessible from pages
processing the request.
Objects accessible from pages
Belonging to the same session.
Objects accessible from pages
Belong to the same application.
Copyright @ 2000 Jordan Anastasiade. All rights rese28
<jsp:setProperty>
Sets a property value or values in a bean.
 Syntax
<jsp:setProperty name="beanInstanceName"
{ property="*" |
property="propertyName" [ param="parameterName" ] |
property="propertyName" value="{string | <%= expression
%>}"
}
/>
 Examples
<jsp:setProperty name="mybean" property="*" />
<jsp:setProperty name="mybean" property="username" />
<jsp:setProperty name="mybean" property="username" value="Steve" />
The <jsp:setProperty> element sets the value of one or more properties in a
bean,
using the bean's setter methods. You must declare the bean with<jsp:useBean>
before
you set a property value with <jsp:setProperty>.
Copyright @ 2000 Jordan Anastasiade. All rights rese29
<jsp:getProperty>
Gets the value of a bean property so that you
can display it in a result page.
 Syntax
<jsp:getProperty name="beanInstanceName“
property="propertyName" />
 Example:
<jsp:useBean id="calendar" scope="page" class="employee.Calendar" />
<h2>
Calendar of <jsp:getProperty name="calendar" property="username" />
</h2>
The <jsp:getProperty> element gets a bean property value using the
property's getter methods and displays the property value in a JSP
page. You must create or locate a bean with <jsp:useBean> before
you use <jsp:getProperty>.
Copyright @ 2000 Jordan Anastasiade. All rights rese30
Jsp with Beans
public class MessageBean {
private String message = "No Message";
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
Copyright @ 2000 Jordan Anastasiade. All rights rese31
JavaBeans with JSP Page
<jsp:useBean id="firstBean" scope="session"
class="packBeans.MessageBean"/>
<jsp:setProperty name="firstBean"
property="message"
value="This is a message from a bean" />
<H1>Message:
<I><font color="#0000FF" size=+3>
<jsp:getProperty name="firstBean" property="message" />
</I></font>
</H1>
Copyright @ 2000 Jordan Anastasiade. All rights rese32
Handling Forms with JSP
package packBeans;
public class NameBean {
private String name;
public NameBean() {
name = null;
}
public String getName() {
return name;
}
public void setName(String aName) {
name = aName;
}
}
Copyright @ 2000 Jordan Anastasiade. All rights rese33
JSP Form
<jsp:useBean id='nb' scope='session' class=‘packBeans.NameBean'/>
<jsp:setProperty name='nb' property="*"/>
<HTML>
<BODY>
<H1>Please enter your name to be registered to JSP Course?</H1>
<FORM method="get">
<INPUT type="text" name="name" size="25">
<INPUT type="submit" value="Submit">
</FORM>
<% if ( request.getParameter("name") != null ) } %>
<%=
"Click<a href=GetName.jsp> here</a> to confirm your registration"
%>
<% } %>
</BODY>
</HTML>
Copyright @ 2000 Jordan Anastasiade. All rights rese34
JSP Results
<jsp:useBean id='nb'
scope="session“class=“packBeans.NameBean"/>
<HTML>
<HEAD>
<TITLE>Registered Name</TITLE>
</HEAD>
<BODY>
<jsp:getProperty name="nb" property="name"/>
</BODY>
</HTML>
Copyright @ 2000 Jordan Anastasiade. All rights rese35
JSP and JavaBeans
Copyright @ 2000 Jordan Anastasiade. All rights rese36
Conclusion
JavaServer Pages (JSP) lets you separate the dynamic
part of your pages from the static HTML.
1. One can simply write the regular HTML in the normal
manner, using whatever Web-page-building tools you
normally use.
2. One can enclose then the code for the dynamic parts in
special tags, most of which
start with "<%"
and end with "%>"

More Related Content

PDF
JSP Technology I
People Strategists
 
PDF
JSP Technology II
People Strategists
 
PPTX
JSP - Java Server Page
Vipin Yadav
 
PPTX
Jsp
Pooja Verma
 
PPTX
Jsp elements
Nuha Noor
 
PPTX
Introduction to JSP
Geethu Mohan
 
PPT
Java Server Pages
BG Java EE Course
 
JSP Technology I
People Strategists
 
JSP Technology II
People Strategists
 
JSP - Java Server Page
Vipin Yadav
 
Jsp elements
Nuha Noor
 
Introduction to JSP
Geethu Mohan
 
Java Server Pages
BG Java EE Course
 

What's hot (19)

PPS
Jsp element
kamal kotecha
 
PDF
Java Web Programming [5/9] : EL, JSTL and Custom Tags
IMC Institute
 
DOC
Spatial approximate string search Doc
Sudha Hari Tech Solution Pvt ltd
 
PDF
Intro To Sap Netweaver Java
Leland Bartlett
 
PPT
Introduction to the Servlet / JSP course
JavaEE Trainers
 
PPT
Web Applications and Deployment
BG Java EE Course
 
PPT
Jsp sasidhar
Sasidhar Kothuru
 
PPTX
JAVA SERVER PAGES
Kalpana T
 
PPTX
Jsp Introduction Tutorial
APSMIND TECHNOLOGY PVT LTD.
 
PPTX
Implicit objects advance Java
Darshit Metaliya
 
PDF
Transformation of Java Server Pages: A Modern Approach
IRJET Journal
 
DOC
Jsp advance part i
sameersaxena90
 
PPT
Jsp ppt
Vikas Jagtap
 
PDF
jsp tutorial
Janwen Lou
 
PPT
Unified Expression Language
BG Java EE Course
 
PPS
Jsp chapter 1
kamal kotecha
 
PPTX
Jsp
chauhankapil
 
PPTX
JSP- JAVA SERVER PAGES
Yoga Raja
 
Jsp element
kamal kotecha
 
Java Web Programming [5/9] : EL, JSTL and Custom Tags
IMC Institute
 
Spatial approximate string search Doc
Sudha Hari Tech Solution Pvt ltd
 
Intro To Sap Netweaver Java
Leland Bartlett
 
Introduction to the Servlet / JSP course
JavaEE Trainers
 
Web Applications and Deployment
BG Java EE Course
 
Jsp sasidhar
Sasidhar Kothuru
 
JAVA SERVER PAGES
Kalpana T
 
Jsp Introduction Tutorial
APSMIND TECHNOLOGY PVT LTD.
 
Implicit objects advance Java
Darshit Metaliya
 
Transformation of Java Server Pages: A Modern Approach
IRJET Journal
 
Jsp advance part i
sameersaxena90
 
Jsp ppt
Vikas Jagtap
 
jsp tutorial
Janwen Lou
 
Unified Expression Language
BG Java EE Course
 
Jsp chapter 1
kamal kotecha
 
JSP- JAVA SERVER PAGES
Yoga Raja
 
Ad

Viewers also liked (14)

PPSX
why development of gender education?
Angela Biswas
 
PPT
Leo Workshop June 2015 (1)
Frances Brennan
 
PPT
Group 9 _ TAXIFORSURE _ #MadnessForCricket
Karthibbun Siva
 
PDF
CERTIFICATE
mompati steerforth
 
PPT
Alu Bender Photo Eng
Antonio Muratori
 
PDF
CSP_Going_Private_F18_1010
Gail Fleenor
 
PDF
historia del computador
Danniiela Diiaz Archbold
 
PPSX
Assessing Students performance by Angela Uma Biswas, student of Institute of ...
Angela Biswas
 
PPTX
Keratosis obturans
sridharlrao1993
 
PPTX
Keratosis obturans
sridharlrao1993
 
PPT
qeeg Neuroshow
Jan Ford Mustin
 
PPTX
Cone beam computerized tomography mamita
Mamita Sakhakarmi
 
PPTX
Solid state detector mamita
Mamita Sakhakarmi
 
why development of gender education?
Angela Biswas
 
Leo Workshop June 2015 (1)
Frances Brennan
 
Group 9 _ TAXIFORSURE _ #MadnessForCricket
Karthibbun Siva
 
CERTIFICATE
mompati steerforth
 
Alu Bender Photo Eng
Antonio Muratori
 
CSP_Going_Private_F18_1010
Gail Fleenor
 
historia del computador
Danniiela Diiaz Archbold
 
Assessing Students performance by Angela Uma Biswas, student of Institute of ...
Angela Biswas
 
Keratosis obturans
sridharlrao1993
 
Keratosis obturans
sridharlrao1993
 
qeeg Neuroshow
Jan Ford Mustin
 
Cone beam computerized tomography mamita
Mamita Sakhakarmi
 
Solid state detector mamita
Mamita Sakhakarmi
 
Ad

Similar to Java serverpages (20)

PPSX
JSP - Part 1
Hitesh-Java
 
PPTX
Session 36 - JSP - Part 1
PawanMM
 
PPTX
JSP.pptx
NishaRohit6
 
PPTX
Internet and Web Technology (CLASS-14) [JSP] | NIC/NIELIT Web Technology
Ayes Chinmay
 
PDF
JavaServer Pages Pocket Reference 1st Edition Hans Bergsten
jawajberwal
 
PDF
JavaServer Pages Pocket Reference 1st Edition Hans Bergsten
tevylitiho93
 
PPTX
Jsp and jstl
vishal choudhary
 
PPTX
Introduction - Java Server Programming (JSP)
PadmavathiKPSGCAS
 
PPTX
Introduction to JSP.pptx
ManishaPatil932723
 
PDF
Jsp tutorial
siddhesh2466
 
PDF
10 jsp-scripting-elements
Phạm Thu Thủy
 
PDF
Jsp presentation
Lakshmi R
 
PDF
Introduction to JSP pages
Fulvio Corno
 
PPTX
4. jsp
AnusAhmad
 
PPTX
Java Server Pages
Shah Nawaz Bhurt
 
DOCX
Unit 4 web technology uptu
Abhishek Kesharwani
 
JSP - Part 1
Hitesh-Java
 
Session 36 - JSP - Part 1
PawanMM
 
JSP.pptx
NishaRohit6
 
Internet and Web Technology (CLASS-14) [JSP] | NIC/NIELIT Web Technology
Ayes Chinmay
 
JavaServer Pages Pocket Reference 1st Edition Hans Bergsten
jawajberwal
 
JavaServer Pages Pocket Reference 1st Edition Hans Bergsten
tevylitiho93
 
Jsp and jstl
vishal choudhary
 
Introduction - Java Server Programming (JSP)
PadmavathiKPSGCAS
 
Introduction to JSP.pptx
ManishaPatil932723
 
Jsp tutorial
siddhesh2466
 
10 jsp-scripting-elements
Phạm Thu Thủy
 
Jsp presentation
Lakshmi R
 
Introduction to JSP pages
Fulvio Corno
 
4. jsp
AnusAhmad
 
Java Server Pages
Shah Nawaz Bhurt
 
Unit 4 web technology uptu
Abhishek Kesharwani
 

Recently uploaded (20)

PPTX
Slides, PPTX World Game (s) Eco Economic Epochs.pptx
Steven McGee
 
PDF
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
PDF
“Google Algorithm Updates in 2025 Guide”
soohhhnah
 
PDF
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
PDF
Data Protection & Resilience in Focus.pdf
AmyPoblete3
 
PPTX
Black Yellow Modern Minimalist Elegant Presentation.pptx
nothisispatrickduhh
 
PDF
Triggering QUIC, presented by Geoff Huston at IETF 123
APNIC
 
PDF
Slides PDF The Workd Game (s) Eco Economic Epochs.pdf
Steven McGee
 
PPTX
ENCOR_Chapter_11 - ‌BGP implementation.pptx
nshg93
 
PPTX
nagasai stick diagrams in very large scale integratiom.pptx
manunagapaul
 
PPTX
EthicalHack{aksdladlsfsamnookfmnakoasjd}.pptx
dagarabull
 
PPTX
ppt lighfrsefsefesfesfsefsefsefsefserrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrt.pptx
atharvawafgaonkar
 
PPTX
B2B_Ecommerce_Internship_Simranpreet.pptx
LipakshiJindal
 
PDF
Generative AI Foundations: AI Skills for the Future of Work
hemal sharma
 
PDF
PDF document: World Game (s) Great Redesign.pdf
Steven McGee
 
PPTX
Crypto Recovery California Services.pptx
lionsgate network
 
PDF
Project English Paja Jara Alejandro.jpdf
AlejandroAlonsoPajaJ
 
PDF
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
PDF
BGP Security Best Practices that Matter, presented at PHNOG 2025
APNIC
 
PPT
Transformaciones de las funciones elementales.ppt
rirosel211
 
Slides, PPTX World Game (s) Eco Economic Epochs.pptx
Steven McGee
 
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
“Google Algorithm Updates in 2025 Guide”
soohhhnah
 
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
Data Protection & Resilience in Focus.pdf
AmyPoblete3
 
Black Yellow Modern Minimalist Elegant Presentation.pptx
nothisispatrickduhh
 
Triggering QUIC, presented by Geoff Huston at IETF 123
APNIC
 
Slides PDF The Workd Game (s) Eco Economic Epochs.pdf
Steven McGee
 
ENCOR_Chapter_11 - ‌BGP implementation.pptx
nshg93
 
nagasai stick diagrams in very large scale integratiom.pptx
manunagapaul
 
EthicalHack{aksdladlsfsamnookfmnakoasjd}.pptx
dagarabull
 
ppt lighfrsefsefesfesfsefsefsefsefserrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrt.pptx
atharvawafgaonkar
 
B2B_Ecommerce_Internship_Simranpreet.pptx
LipakshiJindal
 
Generative AI Foundations: AI Skills for the Future of Work
hemal sharma
 
PDF document: World Game (s) Great Redesign.pdf
Steven McGee
 
Crypto Recovery California Services.pptx
lionsgate network
 
Project English Paja Jara Alejandro.jpdf
AlejandroAlonsoPajaJ
 
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
BGP Security Best Practices that Matter, presented at PHNOG 2025
APNIC
 
Transformaciones de las funciones elementales.ppt
rirosel211
 

Java serverpages

  • 1. Copyright @ 2000 Jordan Anastasiade. All rights rese1 JavaServer Pages In this lesson you will be learning about: What JSP Technology is and how you can use it. How to define and write JSP Page. Syntax of JSP Page. How do JSP pages work. How is a JSP page invoked and compiled. Use of Beans in a JSP Page. How one could create XML pages using JSP technology. JavaServer Pages v1.2
  • 2. Copyright @ 2000 Jordan Anastasiade. All rights rese2 JavaServer Pages Technology JavaServer Pages (JSP) technology provides a simplified, fast way to create web pages that display dynamically- generated content. The JSP 1.2specification is an important part of the Java 2 Platform, Enterprise Edition. Using JSP and Enterprise JavaBeans technologies together is a great way to implement distributed enterprise applications with web-based front ends. The first place to check for information on JSP technology is http://java.sun.com/products/jsp/
  • 3. Copyright @ 2000 Jordan Anastasiade. All rights rese3 JSP Page A JSP page is a page created by the web developer that includes JSP technology-specific tags, declarations, and possibly scriptlets, in combination with other static HTML or XML tags. A JSP page has the extension .jsp; this signals to the web server that the JSP engine will process elements on this page. Pages built using JSP technology are typically implemented using a translation phase that is performed once, the first time the page is called. The page is compiled into a Java Servlet class and remains in server memory, so subsequent calls to the page have very fast response times. Put .jsp pages into a WAR file (see Web ARchive) Deploy (upload) the WAR file as a Web Application to your Sun Java System Application Server Platform.
  • 4. Copyright @ 2000 Jordan Anastasiade. All rights rese4 Overview JavaServer Pages (JSP) lets you separate the dynamic part of your pages from the static HTML. HTML tags and text <% some JSP code here %> HTML tags and text <I> <%= request.getParameter("title") %> </I> You normally give your file a .jsp extension, and typically install it in any place you could place a normal Web page
  • 5. Copyright @ 2000 Jordan Anastasiade. All rights rese5 Client and Server with JSP
  • 6. Copyright @ 2000 Jordan Anastasiade. All rights rese6 Translation Time A JSP application is usually a collection of JSP files, HTML files, graphics and other resources. A JSP page is compiled when your user loads it into a Web browser 1. When the user loads the page for the first time, the files that make up the application are all translated together, without any dynamic data, into one Java source file (a .java file) 2. The .java file is compiled to a .class file. In most implementations, the .java file is a Java servlet that complies with the Java Servlet API.
  • 7. Copyright @ 2000 Jordan Anastasiade. All rights rese7 Simple JSP Page <%@ page info=“A Simple JSP Sample” %> <HTML> <H1> First JSP Page </H1> <BODY> <% out.println(“Welcome to JSP world”); %> </BODY> </HTML>
  • 8. Copyright @ 2000 Jordan Anastasiade. All rights rese8 How JSP Works? User Request – JSP File RequestedUser Request – JSP File Requested ServerServer File Changed File ChangedCreate Source from JSPCreate Source from JSP CompileCompile Execute ServletExecute Servlet
  • 9. Copyright @ 2000 Jordan Anastasiade. All rights rese9 JSP Elements Declarations <%! code %> <jsp:declaration> </jsp:declaration > Expressions <%= expression %> <jsp:expression> </jsp:expression> Scriplets <% code %> <jsp:scriplet> </jsp:scriplet >
  • 10. Copyright @ 2000 Jordan Anastasiade. All rights rese10 HTML Comment Generates a comment that is sent to the client. Syntax <!-- comment [ <%= expression %> ] --> Example: <!-- This page was loaded on <%= (new java.util.Date()).toLocaleString() %> -->
  • 11. Copyright @ 2000 Jordan Anastasiade. All rights rese11 Declaration Declares a variable or method valid in the scripting language used in the JSP page.  Syntax <%! declaration; [ declaration; ]+ ... %>  Examples <%! String destin; %> <%! Public String getDestination() {return destin;}%> <%! Circle a = new Circle(2.0); %>  You can declare any number of variables or methods within one declaration element, as long as you end each declaration with a semicolon.  The declaration must be valid in the Java programming language.
  • 12. Copyright @ 2000 Jordan Anastasiade. All rights rese12 Declaration Example <HTML> <HEAD><TITLE>JSP Declarations</TITLE></HEAD> <BODY><H1>JSP Declarations</H1> <%! private int keepCount = 0; %> <H2> Page accessed: <%= ++keepCount %> times </H2> </BODY> </HTML>
  • 13. Copyright @ 2000 Jordan Anastasiade. All rights rese13 Predefined Variable – Implicit Objects request – Object of HttpServletRequest (request parameters, HTTP headers, cookies response – Object of HttpServletResponse out - Object of PrintWriter buffered version JspWriter session - Object of HttpSession associated with the request application - Object of ServletContext shared by all servlets in the engine config - Object of ServletConfig pageContext - Object of PageContext in JSP for a single point of access page – variable synonym for this object
  • 14. Copyright @ 2000 Jordan Anastasiade. All rights rese14 Expression Contains an expression valid in the scripting language used in the JSP page.  Syntax <%= expression %> <%! String name = new String(“JSP World”); %> <%! public String getName() { return name; } %> <B><%= getName() %></B>  Description: An expression element contains a scripting language expression that is evaluated, converted to a String, and inserted where the expression appears in the JSP file.  Because the value of an expression is converted to a String, you can use an expression within a line of text, whether or not it is tagged with HTML, in a JSPfile. Expressions are evaluated from left to right.
  • 15. Copyright @ 2000 Jordan Anastasiade. All rights rese15 Expression Example <HTML> <HEAD> <TITLE>JSP Expressions</TITLE> </HEAD> <BODY> <H2>JSP Expressions</H2> <UL> <LI>Current time: <%= new java.util.Date() %> <LI>Your hostname: <%= request.getRemoteHost() %> <LI>Your session ID: <%= session.getId() %> </UL> </BODY> </HTML>
  • 16. Copyright @ 2000 Jordan Anastasiade. All rights rese16 Scriptlet Contains a code fragment valid in the page scripting language.  Syntax <% code fragment %> <% String var1 = request.getParameter("name"); out.println(var1); %> This code will be placed in the generated servlet method: _jspService()
  • 17. Copyright @ 2000 Jordan Anastasiade. All rights rese17 Scriplet Example <HTML> <HEAD><TITLE>Weather</TITLE></HEAD> <BODY> <H2>Today's weather</H2> <% if (Math.random() < 0.5) { %> Today will be a <B>suny</B> day! <% } else { %> Today will be a <B>windy</B> day! <% } %> </BODY> </HTML>
  • 18. Copyright @ 2000 Jordan Anastasiade. All rights rese18 JSP Lifecycle jspInit()jspInit() jspDestroy()jspDestroy() jspService()jspService() Servlet from JSP Init Event Request Response Destroy Event
  • 19. Copyright @ 2000 Jordan Anastasiade. All rights rese19 JSP Page Directive Directives are messages to the JSP container and do not produce output into the current output stream  Syntax: <%@ directive attribute=“value” %> <%@ directive attribute1=“value1” attribute1 =“value2” … %> There are three types of directives: 1. page 2. include 3. taglib XML form: <jsp:directive.directiveType attribute=“value” />
  • 20. Copyright @ 2000 Jordan Anastasiade. All rights rese20 Page Directive Defines attributes that apply to an entire JSP page. <%@ page [ language="java" ] [ extends="package.class" ] [ import="{package.class | package.*}, ..." ] [ session="true|false" ] [ buffer="none|8kb|sizekb" ] [ autoFlush="true|false" ] [ isThreadSafe="true|false" ] [ info="text" ] [ errorPage="relativeURL" ] [ contentType="mimeType [ ;charset=characterSet ]" [ isErrorPage="true|false" ] %>
  • 21. Copyright @ 2000 Jordan Anastasiade. All rights rese21 Include Directive Includes a static file in a JSP file, parsing the file's JSP elements.  Syntax <%@ include file="relativeURL" %> The <%@ include %> directive inserts a file of text or code in a JSP file at translation time, when the JSP file is compiled. <%@ include %> process is static. A static include means that the text of the included file is added to the JSP file. The included file can be: 1. JSP file, 2. HTML file, 3. text file.
  • 22. Copyright @ 2000 Jordan Anastasiade. All rights rese22 Taglib Directive Defines a tag library and prefix for the custom tags used in the JSP page.  Syntax <%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %> <%@ taglib uri="http://thathost/tags" prefix="public" %> <public:loop> </public:loop> The <%@ taglib %> directive declares that the JSP file uses custom tags, names the tag library that defines them, and specifies their tag prefix.
  • 23. Copyright @ 2000 Jordan Anastasiade. All rights rese23 Server Redirection One can forward to a text file (HTML), a CGI script, a servlet or another JSP page. One can only forward to a new page, provided no output of the original page has been sent to the browser. One may pass as many parameters as one needs with this method by using the param tag. The forward action ends execution of the current JSP page and removes any existing buffered output. The new page has access to application, request, and session objects as the starting file. A new pageContext object is generated for the page. To the browser, it will appear you have the originally requested page, not the page to which you are transferred. Example: <jsp:forward page="home/Default.jsp" > <jsp:param name="source" value="entry"/> </jsp:forward>
  • 24. Copyright @ 2000 Jordan Anastasiade. All rights rese24 <jsp:forward> Forwards a client request to an HTML file, JSP file, or servlet for processing. Syntax <jsp:forward page="{relativeURL | <%= expression %>}" /> <jsp:forward page="{relativeURL | <%= expression %>}" > <jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />+ </jsp:forward>
  • 25. Copyright @ 2000 Jordan Anastasiade. All rights rese25 <jsp:useBean> Locates or instantiates a bean with a specific name and scope. <jsp:useBean id="beanInstanceName" scope="page|request|session|application" { class="package.class" | type="package.class" | class="package.class" type="package.class" | beanName="{package.class | <%= expression %>}“ } { /> | > other elements </jsp:useBean> }
  • 26. Copyright @ 2000 Jordan Anastasiade. All rights rese26 Attributes and Usage id="beanInstanceName" A variable that identifies the bean in the scope you specify. The name is case sensitive and must conform to the naming conventions of the scripting language used in the JSP page scope="page|request|session|application“ page One can use the bean within the JSP page with the <jsp:useBean> element or any of the page's static include files, until the page sends a response back to the client or forwards a request to another resource request One can use the bean from any JSP page processing the same request, until a JSP page sends a response to the client or forwards the request to another resource. One can use the request object to access the bean, for example, request.getAttribute(beanInstanceName). session One can use the bean from any JSP page in the same session as the JSP page that created the bean. The bean exists across the entire session, and any page that participates in the session can use it. The page in which you create the bean must have a page directive with session="true".
  • 27. Copyright @ 2000 Jordan Anastasiade. All rights rese27 Different Scope ApplicationApplication SessionSession RequestRequest PagePage Least visible Most visible Objects accessible only within pages where they were created. Objects accessible from pages processing the request. Objects accessible from pages Belonging to the same session. Objects accessible from pages Belong to the same application.
  • 28. Copyright @ 2000 Jordan Anastasiade. All rights rese28 <jsp:setProperty> Sets a property value or values in a bean.  Syntax <jsp:setProperty name="beanInstanceName" { property="*" | property="propertyName" [ param="parameterName" ] | property="propertyName" value="{string | <%= expression %>}" } />  Examples <jsp:setProperty name="mybean" property="*" /> <jsp:setProperty name="mybean" property="username" /> <jsp:setProperty name="mybean" property="username" value="Steve" /> The <jsp:setProperty> element sets the value of one or more properties in a bean, using the bean's setter methods. You must declare the bean with<jsp:useBean> before you set a property value with <jsp:setProperty>.
  • 29. Copyright @ 2000 Jordan Anastasiade. All rights rese29 <jsp:getProperty> Gets the value of a bean property so that you can display it in a result page.  Syntax <jsp:getProperty name="beanInstanceName“ property="propertyName" />  Example: <jsp:useBean id="calendar" scope="page" class="employee.Calendar" /> <h2> Calendar of <jsp:getProperty name="calendar" property="username" /> </h2> The <jsp:getProperty> element gets a bean property value using the property's getter methods and displays the property value in a JSP page. You must create or locate a bean with <jsp:useBean> before you use <jsp:getProperty>.
  • 30. Copyright @ 2000 Jordan Anastasiade. All rights rese30 Jsp with Beans public class MessageBean { private String message = "No Message"; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
  • 31. Copyright @ 2000 Jordan Anastasiade. All rights rese31 JavaBeans with JSP Page <jsp:useBean id="firstBean" scope="session" class="packBeans.MessageBean"/> <jsp:setProperty name="firstBean" property="message" value="This is a message from a bean" /> <H1>Message: <I><font color="#0000FF" size=+3> <jsp:getProperty name="firstBean" property="message" /> </I></font> </H1>
  • 32. Copyright @ 2000 Jordan Anastasiade. All rights rese32 Handling Forms with JSP package packBeans; public class NameBean { private String name; public NameBean() { name = null; } public String getName() { return name; } public void setName(String aName) { name = aName; } }
  • 33. Copyright @ 2000 Jordan Anastasiade. All rights rese33 JSP Form <jsp:useBean id='nb' scope='session' class=‘packBeans.NameBean'/> <jsp:setProperty name='nb' property="*"/> <HTML> <BODY> <H1>Please enter your name to be registered to JSP Course?</H1> <FORM method="get"> <INPUT type="text" name="name" size="25"> <INPUT type="submit" value="Submit"> </FORM> <% if ( request.getParameter("name") != null ) } %> <%= "Click<a href=GetName.jsp> here</a> to confirm your registration" %> <% } %> </BODY> </HTML>
  • 34. Copyright @ 2000 Jordan Anastasiade. All rights rese34 JSP Results <jsp:useBean id='nb' scope="session“class=“packBeans.NameBean"/> <HTML> <HEAD> <TITLE>Registered Name</TITLE> </HEAD> <BODY> <jsp:getProperty name="nb" property="name"/> </BODY> </HTML>
  • 35. Copyright @ 2000 Jordan Anastasiade. All rights rese35 JSP and JavaBeans
  • 36. Copyright @ 2000 Jordan Anastasiade. All rights rese36 Conclusion JavaServer Pages (JSP) lets you separate the dynamic part of your pages from the static HTML. 1. One can simply write the regular HTML in the normal manner, using whatever Web-page-building tools you normally use. 2. One can enclose then the code for the dynamic parts in special tags, most of which start with "<%" and end with "%>"