Home | Download | PDF | API | FAQ | Search | Feedback | History

> ## Declarations

> A JSP declaration is used to declare variables and methods in a page's scripting language. The syntax for a declaration is as follows:

>     <%! scripting language declaration %>

> When the scripting language is the Java programming language, variables and methods in JSP declarations become declarations in the JSP page's servlet class.

> ### Initializing and Finalizing a JSP Page

> You can customize the initialization process to allow the JSP page to read persistent configuration data, initialize resources, and perform any other one-time activities; to do so, you override the `jspInit` method of the `JspPage` interface. You release resources using the `jspDestroy` method. The methods are defined using JSP declarations.

> For example, an older version of the Duke's Bookstore application retrieved the object that accesses the bookstore database from the context and stored a reference to the object in the variable `bookDBAO` in the `jspInit` method. The variable definition and the initialization and finalization methods `jspInit` and `jspDestroy` were defined in a declaration:

>     <%!
>     private BookDBAO bookDBAO;
>     public void jspInit() {
>     bookDBAO =
>       (BookDBAO)getServletContext().getAttribute("bookDB");
>       if (bookDBAO == null)
>         System.out.println("Couldn't get database.");
>     }
>     %>

> When the JSP page was removed from service, the `jspDestroy` method released the `BookDBAO` variable.

>     <%!
>     public void jspDestroy() {
>       bookDBAO = null;
>     }
>     %>