Declaring Variables and Methods

We have used two of the three JSP scripting elements in this chapter: scriptlets and expressions. There’s one more, called a declaration element, which is used to declare Java variables and methods in a JSP page. My advice is this: don’t use it. Let me explain why.

Java variables can be declared either within a method or outside the body of all methods, like this:

public class SomeClass {
  // Instance variable
  private String anInstanceVariable;

  // Method
  public void doSomething( ) {
    String aLocalVariable;
  }
}

A variable declared outside the body of all methods is called an instance variable. Its value can be accessed from any method in the class, and it keeps its value even when the method that sets it returns. A variable declared within the body of a method is called a local variable. A local variable can be accessed only from the method where it’s declared. When the method returns, the local variable disappears.

Recall from Chapter 3 that a JSP page is turned into a servlet class when it’s first requested, and the JSP container creates one instance of this class. If the same page is requested by more than one user at a time, the same instance is used for each request. Each user is assigned what is called a thread in the server, and each thread executes the main method in the JSP object. When more than one thread executes the same code, you have to make sure the code is thread-safe. This means that the code must behave the same when many threads are executing ...

Get Java Server Pages now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.