28/1/2001 Seminar in Databases in the Internet Environment Introductio n to Java Server Pages technology by Naomi Chen
Jan 09, 2016
28/1/2001 Seminar in Databases in the Internet Environment
Introduction to
Java Server
Pages technology
by Naomi Chen
28/1/2001 Seminar in Databases in the Internet Environment
What is JSP?
• Java based technology that simplifies the developing of dynamic web sites
• JSP pages are HTML pages with embedded code that allows to access data from Java code running on the server
• JSP provides separation of HTML presentation logic from the application logic.
28/1/2001 Seminar in Databases in the Internet Environment
JSP Flow
28/1/2001 Seminar in Databases in the Internet Environment
Comparison with existing technologies: CGI
• CGI(Common Gateway Interface) programs (typically written in C or Perl) interact with the user by reading the user's input, HTML forms, and returning custom HTML pages.
• Problems:– For each user request the CGI script must be loaded, run, and
unloaded.
– Designed to handle only a single request: needed additional session support (to remember a user’s state between requests for a example).
• JSP vs. CGI:– JSP can maintain state on the server between requests
– Spawns a new thread for each request
– Does not have to be loaded each time, once it has been initialized
– Runs in a ready-loaded JVM as an extension to the web server.
28/1/2001 Seminar in Databases in the Internet Environment
Comparison with existing technologies : ASP
• ASP (Active Server Pages) from Microsoft is the main competing technology for JSP.
• JSP & ASP are similar in the way they support the creation of dynamic web pages, using HTML templates, scripting code and components for business logic.
JSP ASPPlatforms All major web platforms Microsoft only
Base Language Java Jscript or VBScript
Components JSP Tags, JavaBeans, or Enterprise JavaBeans
COM/DCOM
Code Interpretation Once Each Instance
28/1/2001 Seminar in Databases in the Internet Environment
Comparison with existing technologies : ASP (continue)
• ASP used on Microsoft IIS pr PWS web servers. Two third parties, Chili!Soft and Halcyonsoft sell software that allows ASPs to be uses with other platforms: the main problem is in porting the COM components to the new platform.
• JSPs score over ASP:– JSPs are interprted only once, to Java byte-code, and re-
interpreted only when the file is modified– JSPs run on all the main web servers– JSPs provide better facilities for separation of page code
and template data by means of JavaBeans, Enterprise JavaBeans and custom tag libraries.
• For more information see: Sun JSP vs. ASP page
28/1/2001 Seminar in Databases in the Internet Environment
Comparison with existing technologies: Servlets
• Servlets are standard, server-side Java applications that extend the capabilities of a Web server.
• Java Servlets programming model is similar to CGI scripts.• Servlets run inside a single process associated with a web
server.• Instead of creating a process for each request (as CGI) JVM
cerates a Java thread to handle each servlet request.• JVM persists beyond the life of a single request (so requests
can share data and resources).• Essence: Java code that outputs the HTML (out.println
approach).• All benefits of the core Java platform: OOP model, cross-
platform, memory management, rich collections of Java API’s., etc.
• Problems:– All document contents, both static and dynamic, reside in program
source code.
28/1/2001 Seminar in Databases in the Internet Environment
JSP Technology• JSP technology provides a way to combine the
worlds of HTML and Java servlet programming.• JSP specs are built on the Java Servlet API.• JSP supports two different styles for adding dynamic
content to web pages:– JSP pages can embed actual programming code (typically
Java)– JSP supports a set of HTML-like tags that interact with Java
objects on the server (without the need for raw Java code to appear in the page).
28/1/2001 Seminar in Databases in the Internet Environment
JSP Example: Hello World
• 1.
• 2.
28/1/2001 Seminar in Databases in the Internet Environment
SimpleJSP.jsp
28/1/2001 Seminar in Databases in the Internet Environment
SimpleJSP.jsp - the Bean edition
• JSP includes tags for interacting with JavaBeans.• JavaBean is a simply Java class that follow JavaBeans specs:
rules for defining a Bean’s ctor & methods for accessing and setting their properties.
28/1/2001 Seminar in Databases in the Internet Environment
SimpleJSP.jsp - the Bean edition
28/1/2001 Seminar in Databases in the Internet Environment
JSP Example: Hello World
• In both cases the http request is: http://localhost:8080/SimpleJSP.jsp?name=Naomi
• The response from JSP container would be:
28/1/2001 Seminar in Databases in the Internet Environment
How it is work?• Client request for a page ending with
".jsp“. • Web Server fires up the JSP engine.• The JSP engine checks to see if the
JSP file is new or changed.• The JSP engine takes the page and
converts it into a Java servlet (by JSP parser)
• The JSP engine compiles the servlet (by standard Java compiler).
• Servlet Engine executes the new Java servlet using the standard API.
• Servlet’s output is transferred by Web Server as a http response.
28/1/2001 Seminar in Databases in the Internet Environment
JSP Pages content• standard HTML tags & scripts
(JavaScript/VBscript)• new tags for scripting in the Java language.
– Expressions:<%=expression %> or XML variant:<jsp: expression>expression
</jsp:expression>
For Example:<%= fact(12) %><%= (hours <12) ? “AM” : “PM” %><%= Math.pow(radius, 2) %>
– Scriptlets:<% scriptlet %> or XML variant:<jsp:scriptlet> scriptlet </jsp:scriptlet>
– Declarations:<%! declaration (s) %> or XML variant:<jsp:declaration> declaration(s) </jsp:
declaration>
For Example
28/1/2001 Seminar in Databases in the Internet Environment
JSP Pages content – cont.• JSP directives – is a set of tags for providing
the JSP container with page specific instructions for how the document should be processed. Directives affect global properties of the JSP page.<%@ page attr1=“val1” attr2=… %>
• Comments –for adding documentation– Comments that will be in the output:
<!-- comment -->
– JSP comments
<%-- comment --%>
– Scripting language comments:
<% /* comment */ %>
28/1/2001 Seminar in Databases in the Internet Environment
JSP Pages content – cont.• Actions and implicit objects
JSP implicit objects:
page out
config session
request application
response pageContext
exception
28/1/2001 Seminar in Databases in the Internet Environment
JSP Pages content – cont.
• Bean’s tags allows JSP pages to call reusable
components called JavaBeans components.• The tag <jsp:useBean> syntax is:
<jsp:useBean id="Bean_name" scope="scope_value" class="class_name" beanName="ser_filename" type="class_or_interface_name" > properties tags </jsp:useBean>
• <jsp:setProperty> tag syntax is: <jsp:setProperty name="property_name"
property="property_value" />
28/1/2001 Seminar in Databases in the Internet Environment
JSP benefits
• Java-based technology• Vendor-neutral• Full access to underlying Java platform• Performance• Reusable components (JavaBeans)• Separating presentation and implementation
28/1/2001 Seminar in Databases in the Internet Environment
Resources
• Sun JSP 1.1 Specs and description• Server Side Java Resource Site• IBM education courses • JSP resource index• JSP insider
28/1/2001 Seminar in Databases in the Internet Environment
The end
28/1/2001 Seminar in Databases in the Internet Environment
Scriptlet Example