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

28/1/2001 Seminar in Databases in the Internet Environment Introduction to J ava S erver P ages technology by Naomi Chen

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

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