22
28/1/2001 Seminar in Databases in the Internet Environment Introductio n to Java Server Pages technology by Naomi Chen

Introduction to J ava S erver P ages technology by Naomi Chen

  • Upload
    dinah

  • View
    28

  • Download
    2

Embed Size (px)

DESCRIPTION

Introduction to J ava S erver P ages technology by Naomi Chen. 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 - PowerPoint PPT Presentation

Citation preview

Page 1: Introduction to  J ava  S erver  P ages technology by Naomi Chen

28/1/2001 Seminar in Databases in the Internet Environment

Introduction to

Java Server

Pages technology

by Naomi Chen

Page 2: Introduction to  J ava  S erver  P ages 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.

Page 3: Introduction to  J ava  S erver  P ages technology by Naomi Chen

28/1/2001 Seminar in Databases in the Internet Environment

JSP Flow

Page 4: Introduction to  J ava  S erver  P ages technology by Naomi Chen

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.

Page 5: Introduction to  J ava  S erver  P ages technology by Naomi Chen

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

Page 6: Introduction to  J ava  S erver  P ages technology by Naomi Chen

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

Page 7: Introduction to  J ava  S erver  P ages technology by Naomi Chen

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.

Page 8: Introduction to  J ava  S erver  P ages technology by Naomi Chen

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).

Page 9: Introduction to  J ava  S erver  P ages technology by Naomi Chen

28/1/2001 Seminar in Databases in the Internet Environment

JSP Example: Hello World

• 1.

• 2.

Page 10: Introduction to  J ava  S erver  P ages technology by Naomi Chen

28/1/2001 Seminar in Databases in the Internet Environment

SimpleJSP.jsp

Page 11: Introduction to  J ava  S erver  P ages technology by Naomi Chen

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.

Page 12: Introduction to  J ava  S erver  P ages technology by Naomi Chen

28/1/2001 Seminar in Databases in the Internet Environment

SimpleJSP.jsp - the Bean edition

Page 13: Introduction to  J ava  S erver  P ages technology by Naomi Chen

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:

Page 14: Introduction to  J ava  S erver  P ages technology by Naomi Chen

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.

Page 15: Introduction to  J ava  S erver  P ages technology by Naomi Chen

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

Page 16: Introduction to  J ava  S erver  P ages technology by Naomi Chen

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 */ %>

Page 17: Introduction to  J ava  S erver  P ages technology by Naomi Chen

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

Page 18: Introduction to  J ava  S erver  P ages technology by Naomi Chen

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" />

Page 19: Introduction to  J ava  S erver  P ages technology by Naomi Chen

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

Page 20: Introduction to  J ava  S erver  P ages technology by Naomi Chen

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

Page 21: Introduction to  J ava  S erver  P ages technology by Naomi Chen

28/1/2001 Seminar in Databases in the Internet Environment

The end

Page 22: Introduction to  J ava  S erver  P ages technology by Naomi Chen

28/1/2001 Seminar in Databases in the Internet Environment

Scriptlet Example