110 likes | 398 Views
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
E N D
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 eitherread-only (has a set),write-only (has a get)orread-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”} { } />