Docstoc

Java 2 Enterprise Edition

Document Sample
Java 2 Enterprise Edition Powered By Docstoc
					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” />

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:4
posted:2/28/2012
language:English
pages:21