Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server...

24
Softsmith Infotech 1 JSP Java Server Pages

Transcript of Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server...

Page 1: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 1

JSP

Java Server Pages

Page 2: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 2

Java Server Pages

• JSP (Java Server Pages) is an alternate way of creating servlets– JSP is written as ordinary HTML, with a little Java mixed in– The Java is enclosed in special tags, such as <% ... %>– The HTML is known as the template text

• JSP files must have the extension .jsp– JSP is translated into a Java servlet, which is then compiled– Servlets are run in the usual way– The browser or other client sees only the resultant HTML, as

usual• Tomcat knows how to handle servlets and JSP pages

Page 3: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 3

Jsp Execution

Page 4: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 4

JSP scripting elements

• There is more than one type of JSP “tag,” depending on what you want done with the Java

• <%= expression %>– The expression is evaluated and the result is inserted into the HTML

page• <% code %>

– The code is inserted into the servlet's service method

– This construction is called a scriptlet

• <%! declarations %>– The declarations are inserted into the servlet class, not into a method

Page 5: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 5

Example JSP

• <HTML><BODY>Hello!  The time is now <%= new java.util.Date() %></BODY></HTML>

• Notes:– The <%= ... %> tag is used, because we are computing a

value and inserting it into the HTML– The fully qualified name (java.util.Date) is used, instead of

the short name (Date), because we haven’t yet talked about how to do import declarations

Page 6: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 6

Variables

• You can declare your own variables, as usual• JSP provides several predefined variables

– request : The HttpServletRequest parameter– response : The HttpServletResponse parameter– session : The HttpSession associated with the request, or

null if there is none– out : A JspWriter (like a PrintWriter) used to send output to

the client• Example:

– Your hostname: <%= request.getRemoteHost() %>

Page 7: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 7

Scriptlets

• Scriptlets are enclosed in <% ... %> tags– Scriptlets do not produce a value that is inserted directly into the

HTML (as is done with <%= ... %>)– Scriptlets are Java code that may write into the HTML– Example:

<% String queryData = request.getQueryString(); out.println("Attached GET data: " + queryData); %>

• Scriptlets are inserted into the servlet exactly as written, and are not compiled until the entire servlet is compiled– Example:

<% if (Math.random() < 0.5) { %> Have a <B>nice</B> day!<% } else { %> Have a <B>lousy</B> day!<% } %>

Page 8: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 8

Declarations

• Use <%! ... %> for declarations to be added to your servlet class, not to any particular method– Caution: Servlets are multithreaded, so nonlocal variables must

be handled with extreme care– If declared with <% ... %>, variables are local and OK– Data can also safely be put in the request or session objects

• Example:<%! private int accessCount = 0; %> Accesses to page since server reboot: <%= ++accessCount %>

• You can use <%! ... %> to declare methods as easily as to declare variables

Page 9: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 9

Directives

• Directives affect the servlet class itself• A directive has the form:

<%@ directive attribute="value" %>or <%@ directive attribute1="value1" attribute2="value2" ... attributeN="valueN" %>

• The most useful directive is page, which lets you import packages– Example: <%@ page import="java.util.*" %>

Page 10: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 10

JSP Comments

• Different from HTML comments.• HTML comments are visible to client.

<!-- an HTML comment -->

• JSP comments are used for documenting JSP code .• JSP comments are not visible client-side.

<%-- a JSP comment --%>

Page 11: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 11

The include directive

• The include directive inserts another file into the file being parsed– The included file is treated as just more JSP, hence it can

include static HTML, scripting elements, actions, and directives• Syntax: <%@ include file="URL " %>

– The URL is treated as relative to the JSP page– If the URL begins with a slash, it is treated as relative to the

home directory of the Web server• The include directive is especially useful for inserting things like

navigation bars

Page 12: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 12

Actions

• Actions are XML-syntax tags used to control the servlet engine• <jsp:include page="URL " />

– Inserts the indicated relative URL at execution time (not at compile time, like the include directive does)

– This is great for rapidly changing data

• <jsp:forward page="URL" /><jsp:forward page="<%= JavaExpression %>" />– Jump to the (static) URL or the (dynamically computed) JavaExpression resulting in a URL

Page 13: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 13

JSP in XML

• JSP can be embedded in XML as well as in HTML• Due to XML’s syntax rules, the tags must be different

(but they do the same things)• HTML: <%= expression %>

XML: <jsp:expression>expression</jsp:expression>

• HTML: <% code %>XML: <jsp:scriptlet>code</jsp:scriptlet>

• HTML: <%! declarations %>XML: <jsp:declaration>declarations</jsp:declaration>

• HTML: <%@ include file=URL %>XML: <jsp:directive.include file="URL"/>

Page 14: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 14

Action – useBean tag

• The useBean action tag is the most commonly used tag because of its powerful features.

• It allows a JSP to create an instance or receive an instance of a Java Bean.

• It is used for creating or instantiating a bean with a specific name and scope.

• Examples• <jsp:useBean id=“time" scope="session"

class="com.time.CurrentTimeBean" />

Page 15: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 15

Session in jsp

• In session management whenever a request comes for any resource, a unique token is generated by the server and transmitted to the client by the response object and stored on the client machine as a cookie.

Session management

(i) Session Object

(ii) Cookies

(iii) Hidden Form Fields

(iv) URL Rewriting

Page 16: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 16

Javascript

Page 17: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 17

JavaScript language

• The JavaScript language is an interpreted, object oriented based scripting language.

• JavaScript coding statements are commonly embedded inside a webpage using the HTML tags <SCRIPT> </SCRIPT>.

• When the web browser is rendering the webpage, any JavaScript coding statements encountered are immediately interpreted and run before the rendering continues.

Page 18: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 18

Where to use JavaScript

• Verify the end user input data contains legitimate data values.

• Handle any arithmetic or logic processing that needs to be executed on the web browser.

• Directly manipulate the web browser objects such as the status bar, address bar, and the web browser's rendered controls (such as textboxes, selection lists, etc...).

• Handle and process client-side events that have been generated.

Page 19: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 19

How to run JavaScripts

• JavaScript statements are interpreted and run by the web browser

• Most common web browsers contain a JavaScript interpreter program

– interpret and run the JavaScript commands that have been embedded inside a webpage. 

Question1: In a web application, which entity executes JSPs?

Question2: In a web application, which entity executes JavaScript commands?

Page 20: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 20

JavaScript programming example

<HTML>2 <HEAD><TITLE> JavaScript Example1 </TITLE></HEAD>3 <BODY>4 <H1>Javascript Example1</H1>5 An alert box will appear using the window object <br>67 <SCRIPT>8 window.alert("hello world");9 </SCRIPT>1011 Goodbye!1213 </BODY>14 </HTML>

Page 21: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 21

Events

An event is an identifiable occurrence or action that has taken place in the system. Writing programs that generate and handle events is known as event programming.

Events are typically generated in the following ways.• GUI programs can generate an event to indicate there has

been some interaction between the widget and the end user. – when an end user presses a button, a click event is

generated.• Input/output programs can generate an event to indicate an

input/output event has occurred. – A mouse event is generated when the end user moves

the mouse.

Page 22: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 22

Binding Events

Page 23: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 23

Binding Events

In client side web programming, the web browser contains

it's own event listener.

Therefore you must do two things in order to process an event that has been

generated.

1. Write the code that binds the event to the event handler.

2.  Write the code for the event handler.

Page 24: Softsmith Infotech 1 JSP Java Server Pages. Softsmith Infotech 2 Java Server Pages JSP (Java Server Pages) is an alternate way of creating servlets –JSP.

Softsmith Infotech 24

Common web browser events

Event Description

click Used to indicate an entity (usually a control) has been clicked

submit Used to indicate the submit button has been pushed

mouseover Used to indicate the mouse cursor has been moved over the entity. Typically the entity is a control or an anchor.

mouseout

Used to indicate the mouse cursor has been moved away from the entity. Typically the entity is a control or an anchor.

load Used to indicate the webpage has been completely parsed and loaded into the web browser.

unload Used to indicate the webpage has been unloaded from the web browser. Unloading a webpage occurs when the web browser is about to load another webpage. The unload event is the last event that will be generated from the current webpage before the next webpage is loaded. When the web browser is closed or exited, the unload event is not generated.