0% found this document useful (0 votes)
79 views13 pages

Java Server Pages

This document provides an overview of Java Server Pages (JSP) which is an alternative way to create servlets using HTML with Java code enclosed in special tags. JSP files are translated into Java servlets that generate HTML responses. The document describes the different JSP scripting elements like <%= %> for expressions, <% %> for code blocks, and <%! %> for declarations. It also covers variables, directives, includes, and actions that can be used in JSPs.

Uploaded by

ivsvarun
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views13 pages

Java Server Pages

This document provides an overview of Java Server Pages (JSP) which is an alternative way to create servlets using HTML with Java code enclosed in special tags. JSP files are translated into Java servlets that generate HTML responses. The document describes the different JSP scripting elements like <%= %> for expressions, <% %> for code blocks, and <%! %> for declarations. It also covers variables, directives, includes, and actions that can be used in JSPs.

Uploaded by

ivsvarun
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 13

JSP

Java Server Pages

Dec 8, 2021
A “Hello World” servlet
(from the Tomcat installation documentation)
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 2
Servlets
 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
JSP scripting elements
 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
Example JSP
 <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
Variables
 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
 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
Declarations
 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
 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
 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
 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 in XML
 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
The End

13

You might also like