JavaBeans and JSP

Download Report

Transcript JavaBeans and JSP

JavaBeans and JSP
JavaBeans
• The Java component technology
– originally intended for the creation and management of “pluggable” GUI
components; Java’s answer to Visual Basic’s VBX/OCXs
– becoming more popular for encapsulating business logic for server-side
applications (especially Java Server Pages
– many Java GUI Development tools have been modified to allow
application development of server-side applications (Visual Café, Jbuilder,
VisualAge for Java) along with the development tools being delivered
with application servers (SilverStream, BEA Weblogic)
• A JavaBean is nothing more than a class that maintains some state
data (called properties) and follows a certain set of coding
conventions. Along with certain Java runtime support (reflection and
introspection) JavaBeans can be easily added to and maintained by
most of the Java GUI Development Tools .
• A bean encapsulates data about one entity
API requires that:
• Must implement java.io.Serializable or java.io.Externalizable
– A Java bean must be in a package
– Beans must be able to support their own persistence
• this allows the bean to be saved and restored consistently
• provide a no-arguments constructor
– provides a single way for the Bean to be instantiated
– insures consistent bean creation and initialization
• private properties must have corresponding get/set methods that
follow the appropriate naming patterns
– each piece of state data to be exposed is called a property
• a property is either read-only (has a set), write-only (has a get)or read-write (has both)
• a property is case-sensitive and starts with a lower-case letter
– made public via accessor and mutators (gets and sets)
• accessor method names must start with “get” & have no arguments
– for property int color the accessor would be getColor() (note cap C)
• mutator method names must start with “set” and return void
– for property fuelCapacity the mutator would be setFuelCapacity()
jsp:useBean Tag
• jsp:useBean does the following:
– If the object is found within the specified scope it is retrieved and assigned to
the object
– if not found it is instantiated
– if newly instantiated it executes the code specified in the body ( one or more
jsp:setProperty tags or a scriptlet)
– if newly instantiated it is saved into the scope via setAttribute( ) method
• jsp:useBean also makes the bean visible to the JSP; there may be other
objects in the context that were put there by other JSPs or servlets;
jsp:useBean can make them visible to the current JSP
jsp:useBean Tag (more)
• Attributes :
•
•
•
•
•
id
scope
class
beanName
type
– <jsp:useBean id = today class = “java.util.Date”>
• instantiates a bean called today of class java.util.Date( )
– <jsp:useBean id = “count” class = “java.lang.Integer” type = “java.lang.Number”>
• essentially does : Number = count ; count = new Integer( )
– <jsp:useBean id = “count” class = “<%= request.getParameter(“beanName”)%>
type = “Number” />
• essentiallt does: Number count; count =
java.beans.Beans.instantiate(request.getParameter(“beanName”));
jsp:useBean Tag (more)
Scope of a Java Bean- Four Scopes Available
• Page
– available only within the JSP page and is destroyed
when the page has finished generating its output for
the request
• Request
– destroyed when the response is sent
• Session
– destroyed when the session is destroyed
• Application
– destroyed when the web application is destroyed.
jsp:useBean Tag (more)
•
In general the syntax is:
<jsp:useBean id = “name” {scope = “page | request | session | application”}
{
}
/>