SlideShare a Scribd company logo
Java Server Pages
2
public class HelloServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String docType =
"<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 " +
"Transitional//EN">n";
out.println(docType +
"<HTML>n" +
"<HEAD><TITLE>Hello</TITLE></HEAD>n" +
"<BODY BGCOLOR="#FDF5E6">n" +
"<H1>Hello World</H1>n" +
"</BODY></HTML>");
}
} This is mostly Java with a little HTML mixed in
 The purpose of a servlet is to create a Web page in response
to a client request
 Servlets are written in Java, with a little HTML mixed in
◦ The HTML is enclosed in out.println( ) statements
 JSP (Java Server Pages) is an alternate way of creating
servlets
◦ JSP is written as ordinary HTML, with a little Java mixed in
◦ The Java is enclosed in special tags, such as <% ... %>
◦ The HTML is known as the template text
 JSP files must have the extension .jsp
◦ JSP is translated into a Java servlet, which is then compiled
◦ Servlets are run in the usual way
◦ The browser or other client sees only the resultant HTML, as usual
 Tomcat knows how to handle servlets and JSP pages
3
 There is more than one type of JSP “tag,” depending on
what you want done with the Java
 <%= expression %>
◦ The expression is evaluated and the result is inserted into the
HTML page
 <% code %>
◦ The code is inserted into the servlet's service method
◦ This construction is called a scriptlet
 <%! declarations %>
◦ The declarations are inserted into the servlet class, not into a
method
4
 <HTML>
<BODY>
Hello!  The time is now <%= new java.util.Date() %>
</BODY>
</HTML>
 Notes:
◦ The <%= ... %> tag is used, because we are computing a
value and inserting it into the HTML
◦ The fully qualified name (java.util.Date) is used,
instead of the short name (Date), because we haven’t
yet talked about how to do import declarations
5
 You can declare your own variables, as usual
 JSP provides several predefined variables
◦ request : The HttpServletRequest parameter
◦ response : The HttpServletResponse parameter
◦ session : The HttpSession associated with the request, or
null if there is none
◦ out : A JspWriter (like a PrintWriter) used to send
output to the client
 Example:
◦ Your hostname: <%= request.getRemoteHost() %>
6
 Scriptlets are enclosed in <% ... %> tags
◦ Scriptlets do not produce a value that is inserted directly into
the HTML (as is done with <%= ... %>)
◦ Scriptlets are Java code that may write into the HTML
◦ Example:
<% String queryData = request.getQueryString();
out.println("Attached GET data: " + queryData); %>
 Scriptlets are inserted into the servlet exactly as
written, and are not compiled until the entire servlet is
compiled
◦ Example:
<% if (Math.random() < 0.5) { %>
Have a <B>nice</B> day!
<% } else { %>
Have a <B>lousy</B> day!
<% } %>
7
 Use <%! ... %> for declarations to be added to your
servlet class, not to any particular method
◦ Caution: Servlets are multithreaded, so nonlocal variables must
be handled with extreme care
◦ If declared with <% ... %>, variables are local and OK
◦ Data can also safely be put in the request or session objects
 Example:
<%! private int accessCount = 0; %>
Accesses to page since server reboot:
<%= ++accessCount %>
 You can use <%! ... %> to declare methods as easily as
to declare variables
8
 Directives affect the servlet class itself
 A directive has the form:
<%@ directive attribute="value" %>
or
<%@ directive attribute1="value1"
attribute2="value2"
...
attributeN="valueN" %>
 The most useful directive is page, which lets you
import packages
◦ Example: <%@ page import="java.util.*" %>
9
 The include directive inserts another file into the
file being parsed
◦ The included file is treated as just more JSP, hence it
can include static HTML, scripting elements, actions, and
directives
 Syntax: <%@ include file="URL " %>
◦ The URL is treated as relative to the JSP page
◦ If the URL begins with a slash, it is treated as relative to
the home directory of the Web server
 The include directive is especially useful for
inserting things like navigation bars
10
 Actions are XML-syntax tags used to control the
servlet engine
 <jsp:include page="URL " flush="true" />
◦ Inserts the indicated relative URL at execution time (not
at compile time, like the include directive does)
◦ This is great for rapidly changing data
 <jsp:forward page="URL" />
<jsp:forward page="<%= JavaExpression %>" />
◦ Jump to the (static) URL or the (dynamically computed)
JavaExpression resulting in a URL
11
 JSP can be embedded in XML as well as in HTML
 Due to XML’s syntax rules, the tags must be different
(but they do the same things)
 HTML: <%= expression %>
XML: <jsp:expression>expression</jsp:expression>
 HTML: <% code %>
XML: <jsp:scriptlet>code</jsp:scriptlet>
 HTML: <%! declarations %>
XML: <jsp:declaration>declarations</jsp:declaration>
 HTML: <%@ include file=URL %>
XML: <jsp:directive.include file="URL"/>
12
13

More Related Content

PPT
Web&java. jsp
DOCX
servlet programming
PPTX
Java script
PPTX
React outbox
PDF
A Quick Introduction to YQL
PPTX
Servlet session 8
PPTX
jQuery basics
PDF
Dicoding Developer Coaching #32: Android | Reactive Programming dengan RxJava...
Web&java. jsp
servlet programming
Java script
React outbox
A Quick Introduction to YQL
Servlet session 8
jQuery basics
Dicoding Developer Coaching #32: Android | Reactive Programming dengan RxJava...

What's hot (19)

PPT
2310 b 13
PPTX
Using schemas in parsing xml part 2
PPT
2310 b 11
PPTX
Web components
PPTX
JS basics
PPT
29 Jsp
PPTX
React / Redux Architectures
PPT
2310 b 12
PDF
Suggest.js
PDF
React state managmenet with Redux
PPTX
Introduction to React JS for beginners
PDF
React for Dummies
PPTX
Test and profile your Windows Phone 8 App
PDF
React JS and Redux
PDF
Dicoding Developer Coaching #19: Android | Menyimpan Database Secara Local di...
PPT
2310 b 06
ODP
Polyglot persistence with Spring Data
PPTX
Introduction to ASP.Net Viewstate
PPTX
React + Redux Introduction
2310 b 13
Using schemas in parsing xml part 2
2310 b 11
Web components
JS basics
29 Jsp
React / Redux Architectures
2310 b 12
Suggest.js
React state managmenet with Redux
Introduction to React JS for beginners
React for Dummies
Test and profile your Windows Phone 8 App
React JS and Redux
Dicoding Developer Coaching #19: Android | Menyimpan Database Secara Local di...
2310 b 06
Polyglot persistence with Spring Data
Introduction to ASP.Net Viewstate
React + Redux Introduction
Ad

Viewers also liked (7)

PPTX
Petit Club TV Connectée - Présentation Philippe Citroën (Sony)
PDF
White Paper: Mobile Banking: How to Balance Opportunities and Threats
 
PDF
EMC FAST VP for Unified Storage Systems
 
PDF
Demystifying Big Data
 
PDF
White paper: EMC Performance Optimization for Microsoft FAST Search Server 20...
 
PDF
An IT-as-a-Service Handbook: 10 Key Steps on the Journey to ITaaS
 
PDF
Desafio docente 6o interiores
Petit Club TV Connectée - Présentation Philippe Citroën (Sony)
White Paper: Mobile Banking: How to Balance Opportunities and Threats
 
EMC FAST VP for Unified Storage Systems
 
Demystifying Big Data
 
White paper: EMC Performance Optimization for Microsoft FAST Search Server 20...
 
An IT-as-a-Service Handbook: 10 Key Steps on the Journey to ITaaS
 
Desafio docente 6o interiores
Ad

Similar to Jsp intro (20)

PPTX
Jsp & struts
PPT
JSP diana y yo
PDF
JavaServer Pages
PPT
Jsp sasidhar
PPTX
PPT
PDF
Jsp presentation
PPT
Java serverpages
PPT
Java Server Pages
PPTX
JSP- JAVA SERVER PAGES
PPTX
Web Technologies - forms and actions
PPT
J2EE - JSP-Servlet- Container - Components
PPTX
Servlets
PDF
Java Server Pages
PPT
Presentation
PPTX
C:\fakepath\jsp01
PPTX
JSP - Java Server Page
PPT
presentation on java server pages vs servlet.ppt
PPTX
Introduction - Java Server Programming (JSP)
Jsp & struts
JSP diana y yo
JavaServer Pages
Jsp sasidhar
Jsp presentation
Java serverpages
Java Server Pages
JSP- JAVA SERVER PAGES
Web Technologies - forms and actions
J2EE - JSP-Servlet- Container - Components
Servlets
Java Server Pages
Presentation
C:\fakepath\jsp01
JSP - Java Server Page
presentation on java server pages vs servlet.ppt
Introduction - Java Server Programming (JSP)

More from husnara mohammad (16)

PPT
Hibernate
PPT
Spring frame work
PPT
Java intro
PPT
Php with my sql
PPT
Asp dot net
PPT
Hibernate introduction
PPT
PPT
Sql introduction
PPT
Ruby on Rails
PPT
C++ basics
PPT
Ajax basic intro
PPT
Backbone js
PPT
Web attacks
Hibernate
Spring frame work
Java intro
Php with my sql
Asp dot net
Hibernate introduction
Sql introduction
Ruby on Rails
C++ basics
Ajax basic intro
Backbone js
Web attacks

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Big Data Technologies - Introduction.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
KodekX | Application Modernization Development
PPT
Teaching material agriculture food technology
PPTX
Spectroscopy.pptx food analysis technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
cuic standard and advanced reporting.pdf
Understanding_Digital_Forensics_Presentation.pptx
Review of recent advances in non-invasive hemoglobin estimation
Agricultural_Statistics_at_a_Glance_2022_0.pdf
sap open course for s4hana steps from ECC to s4
Encapsulation_ Review paper, used for researhc scholars
Network Security Unit 5.pdf for BCA BBA.
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Big Data Technologies - Introduction.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Diabetes mellitus diagnosis method based random forest with bat algorithm
Mobile App Security Testing_ A Comprehensive Guide.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
KodekX | Application Modernization Development
Teaching material agriculture food technology
Spectroscopy.pptx food analysis technology
Chapter 3 Spatial Domain Image Processing.pdf

Jsp intro

  • 2. 2 public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String docType = "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 " + "Transitional//EN">n"; out.println(docType + "<HTML>n" + "<HEAD><TITLE>Hello</TITLE></HEAD>n" + "<BODY BGCOLOR="#FDF5E6">n" + "<H1>Hello World</H1>n" + "</BODY></HTML>"); } } This is mostly Java with a little HTML mixed in
  • 3.  The purpose of a servlet is to create a Web page in response to a client request  Servlets are written in Java, with a little HTML mixed in ◦ The HTML is enclosed in out.println( ) statements  JSP (Java Server Pages) is an alternate way of creating servlets ◦ JSP is written as ordinary HTML, with a little Java mixed in ◦ The Java is enclosed in special tags, such as <% ... %> ◦ The HTML is known as the template text  JSP files must have the extension .jsp ◦ JSP is translated into a Java servlet, which is then compiled ◦ Servlets are run in the usual way ◦ The browser or other client sees only the resultant HTML, as usual  Tomcat knows how to handle servlets and JSP pages 3
  • 4.  There is more than one type of JSP “tag,” depending on what you want done with the Java  <%= expression %> ◦ The expression is evaluated and the result is inserted into the HTML page  <% code %> ◦ The code is inserted into the servlet's service method ◦ This construction is called a scriptlet  <%! declarations %> ◦ The declarations are inserted into the servlet class, not into a method 4
  • 5.  <HTML> <BODY> Hello!  The time is now <%= new java.util.Date() %> </BODY> </HTML>  Notes: ◦ The <%= ... %> tag is used, because we are computing a value and inserting it into the HTML ◦ The fully qualified name (java.util.Date) is used, instead of the short name (Date), because we haven’t yet talked about how to do import declarations 5
  • 6.  You can declare your own variables, as usual  JSP provides several predefined variables ◦ request : The HttpServletRequest parameter ◦ response : The HttpServletResponse parameter ◦ session : The HttpSession associated with the request, or null if there is none ◦ out : A JspWriter (like a PrintWriter) used to send output to the client  Example: ◦ Your hostname: <%= request.getRemoteHost() %> 6
  • 7.  Scriptlets are enclosed in <% ... %> tags ◦ Scriptlets do not produce a value that is inserted directly into the HTML (as is done with <%= ... %>) ◦ Scriptlets are Java code that may write into the HTML ◦ Example: <% String queryData = request.getQueryString(); out.println("Attached GET data: " + queryData); %>  Scriptlets are inserted into the servlet exactly as written, and are not compiled until the entire servlet is compiled ◦ Example: <% if (Math.random() < 0.5) { %> Have a <B>nice</B> day! <% } else { %> Have a <B>lousy</B> day! <% } %> 7
  • 8.  Use <%! ... %> for declarations to be added to your servlet class, not to any particular method ◦ Caution: Servlets are multithreaded, so nonlocal variables must be handled with extreme care ◦ If declared with <% ... %>, variables are local and OK ◦ Data can also safely be put in the request or session objects  Example: <%! private int accessCount = 0; %> Accesses to page since server reboot: <%= ++accessCount %>  You can use <%! ... %> to declare methods as easily as to declare variables 8
  • 9.  Directives affect the servlet class itself  A directive has the form: <%@ directive attribute="value" %> or <%@ directive attribute1="value1" attribute2="value2" ... attributeN="valueN" %>  The most useful directive is page, which lets you import packages ◦ Example: <%@ page import="java.util.*" %> 9
  • 10.  The include directive inserts another file into the file being parsed ◦ The included file is treated as just more JSP, hence it can include static HTML, scripting elements, actions, and directives  Syntax: <%@ include file="URL " %> ◦ The URL is treated as relative to the JSP page ◦ If the URL begins with a slash, it is treated as relative to the home directory of the Web server  The include directive is especially useful for inserting things like navigation bars 10
  • 11.  Actions are XML-syntax tags used to control the servlet engine  <jsp:include page="URL " flush="true" /> ◦ Inserts the indicated relative URL at execution time (not at compile time, like the include directive does) ◦ This is great for rapidly changing data  <jsp:forward page="URL" /> <jsp:forward page="<%= JavaExpression %>" /> ◦ Jump to the (static) URL or the (dynamically computed) JavaExpression resulting in a URL 11
  • 12.  JSP can be embedded in XML as well as in HTML  Due to XML’s syntax rules, the tags must be different (but they do the same things)  HTML: <%= expression %> XML: <jsp:expression>expression</jsp:expression>  HTML: <% code %> XML: <jsp:scriptlet>code</jsp:scriptlet>  HTML: <%! declarations %> XML: <jsp:declaration>declarations</jsp:declaration>  HTML: <%@ include file=URL %> XML: <jsp:directive.include file="URL"/> 12
  • 13. 13