JSP

maliciousgunΛογισμικό & κατασκευή λογ/κού

29 Οκτ 2013 (πριν από 3 χρόνια και 7 μήνες)

96 εμφανίσεις

28/1/2001





Seminar in Databases in the Internet
Environment

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.

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