JSP - Java Server Page - CS

Download Report

Transcript JSP - Java Server Page - CS

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
ASP
Platforms
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 reinterpreted 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, crossplatform, memory management, rich collections of Java API’s.,
etc.
• Problems:
– All document contents, both static and dynamic, reside in program
Seminar in Databases in the Internet
28/1/2001 source code.
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>
28/1/2001
For Example
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
28/1/2001
Seminar in Databases in the Internet
Environment