java server pages an introduction to jsp. containers and components several clients – one system

Post on 05-Jan-2016

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Java Server Pages

An introduction to JSP

Containers and Components

Several clients – one system

Java Server Pages (JSP)

HTML with embedded Java code Good for presentation

No print statements Compiled to a Servlet at runtime

Good performance Easy deployment

When a JSP is updated it’s recompiled Possible to compile manually

Easy for web designers to use Edited in an ordinary HTML editor

Support for Java Beans and Custom tags

JSP – Directives

At the top of a JSP page, the page directive is used <%@ page name=“value” %>

JSP – Page Directive parameters language

Default is java extends

Default is the base JSP class, but you could use your own

import=“package1,package2, class1, class2” session

True or False, determines if sessions should be automatically created. True is default

JSP – Page Directive parameters buffer

The output buffer size autoFlush

True or false, determines if the output should be flushed to the client. True is default

isThreadSafe True or false. True is default

info Descriptive text

JSP – Page Directive parameters errorPage

The page to go to in case of an error contentType isErrorPage

Defines if this is a error page. False is default. If it’s an error page a couple of extra objects are available in the page

Other Directives

Include directive <%@ include file=“relative url” %> Includes the file BEFORE compilation Only static content

JSP – Implicit objects

In JSPs, a couple of objects are allways available request

Subclass of ServletRequest getParameter(), getParameterNames() getAttribute() …

Response Subclass of ServletResponse Not used in normal situations

pageContext Used to get configuration variables for this page getAttribute()

JSP – Implicit objects

session The HttpSession Created automatically if session is not false in the page directive

application javax.servlet.ServletContext Used to get information about the application

out Used to print (in scriptlets) clear(), clearBuffer(), flush()

config javax.servlet.ServletConfig getInitParameter(), getInitParameterNames()

page exception

JSP – Implicit objects

exception Only in error pages getMessage() printStackTrace()

Java Code

Three ways to use Java Code in your JSP <%! Declaration %>

Declares member variables NOT thread safe

<%= MyClass.printMessage() %> Used to print single expressions

Java Code

<% any java code %> Can contain the entire application Use with care Can give very hard to read code

<% if(status == 1){

%><h3>Yo</h3>

<%}Else{%>

<h3>Oy</h3><% } %>

JSP Tags

There are a couple of tags available and you can extend the tag set with your own tags

XML Syntax Doesn’t distract HTML authoring tools

Forward

<jsp:forward page=“relative URL” /> Forwards the request

Include

<jsp:include page=“relative url” flusth=“true/false” />

Includes the output in runtime Can be dynamic content

UseBean

<jsp:useBean id=“instance name” scope=“page|request|session|application” beanName=“package.class”|class=“package.class” />

Used to initialize a bean. Only called once

<jsp:useBean …>

<h4>The bean is created</h4>

</jsp:useBean>

GetProperty

Used to call getXXX methods in a bean <jsp:getProperty name=“bean instance

name” property=“name” /> Will call bean.getName() Name is the same as id in <jsp:useBean>

SetProperty

Used to call setXXX methods in a bean <jsp:setProperty name=“instance name”

property=“*|propertyname” value=“value” /> When * is used as property name, a setXXX

for value in getParameterNames() will be called

Example

package test1; class TestBean{ private String name; private String surname;

public String getName(){ return name; } public String getSurname(){ return surname; } public void setSurname(String _surname){ surname=_surname; } public void setName(String name=_name){ name=_name; } }

Example cont.

<%@ page languea=“java” session=“true” %>

<jsp:useBean id=“tb” class=“test1.TestBean” scope=“session”>

<i>The bean is created </i>

<jsp:getProperty name=“tb” property=“name” />

<jsp:setProperty name=“tb” property=“name” value=“Fredrik” />

top related