Declaring variable in JSP

By: aathishankaran Emailed: 1671 times Printed: 2149 times    

Latest comments
By: rohit kumar - how this program is work
By: Kirti - Hi..thx for the hadoop in
By: Spijker - I have altered the code a
By: ali mohammed - why we use the java in ne
By: ali mohammed - why we use the java in ne
By: mizhelle - when I exported the data
By: raul - no output as well, i'm ge
By: Rajesh - thanx very much...
By: Suindu De - Suppose we are executing

The JSP you write turns into a class definition.  All the scriptlets you write are placed inside a single method of this class. In JSP you can also add variables and can use the variables in the program. You can manipulate the variables value.

You can add variable and method declarations to this class.  You can then use these variables and methods from your scriptlets and expressions.

To add a declaration, you must use the <%! and %> sequences to enclose your declarations, as shown below.

<%@ page import="java.util.*" %>
<HTML>
<BODY>
<%! Date theDate = new Date();
Date getDate()
    {
        System.out.println( "In getDate() method" );
        return theDate;
    }
%>
Hello!  The time is now <%= getDate() %>
</BODY>
</HTML>

The example has been created a little contrived, to show variable and method declarations.

Here we are declaring a Date variable theDate, and the method getDate.  Both of these are available now in our scriptlets and expressions.  

But this example no longer works!  The date will be the same, no matter how often you reload the page.  This is because these are declarations, and will only be evaluated once when the page is loaded!  (Just as if you were creating a class and had variable initialization declared in it.)

The JSP usually will run as multiple threads of one single instance. Different threads would interfere with variable access, because it will be the same variable for all of them. If you do have to use variables in JSP, you should use synchronized access, but that hurts the performance. In general, any data you need should go either in the session object or the request object (these are introduced a little later) if passing data between different JSP pages. Variables you declare inside scriptlets are fine, e.g. <% int i = 45; %> because these are declared inside the local scope and are not shared.


JSP Home | All JSP Tutorials | Latest JSP Tutorials

Sponsored Links

If this tutorial doesn't answer your question, or you have a specific question, just ask an expert here. Post your question to get a direct answer.



Bookmark and Share

Comments(0)


Be the first one to add a comment

Your name (required):


Your email(required, will not be shown to the public):


Your sites URL (optional):


Your comments:



More Tutorials by aathishankaran
Web Security Issues
The Web User's Perspective
Server-side plug-Ins
The best way to avoid security vulnerabilities with new server
JavaScript Security
Window Object
Working with Status Bar Messages
Retrieving a Portion of a String
Referencing Windows
Math Object
Frame Object
Document Object
Closing Windows
Built-in Object in Javascript
Textarea Object

More Tutorials in JSP
LifecycleException: service.getName(): "Catalina"; Protocol handler start failed: `java.net.BindException: Permission denied <null>:80
JSP Alert Example
JSP CheckBox Example
Uploading an Image to a Database using JSP
Uploading a file to a server using JSP
A JSP page that gets properties from a bean
The page Directive in JSP
The taglib, tag, include, attribute and the variable Directive in JSP
Declarations in JSP
Scriptlets and Expressions in JSP
Tag Libraries in JSP
The Request Object in JSP
The Response Object in JSP
The Out Object in JSP
The Session Object in JSP

More Latest News
Most Viewed Articles (in JSP )
JSP Example to connect to MS SQL database and retrieve records
Comparison operators in JSP
JSP Program for display Date
JSP CheckBox Example
JSP Alert Example
Server-side plug-Ins
Encrypting Passwords in Tomcat using Servlets
What are the different scopes in JSP?
Automatically Refreshing a JSP
Uploading an Image to a Database using JSP
Form processing in JSP
Handling Events
Password Object
Math Object
NotifyUtil::java.net.ConnectException: Connection refused: connect
Most Emailed Articles (in JSP)
Textarea Object
Click to Activate and Use this control
Embedding java codes in jsp sciptlets
Debugging Servlets
The Servlet Life Cycle
The JSP Program running first Time.
Document Object
NotifyUtil::java.net.ConnectException: Connection refused: connect
The Basic Syntax Expression Language in JSP
Automatically Refreshing a JSP
IIS and Tomcat - how to configure to work together
What is JSP?
Server Side Programming
Tags using in jsp
Form processing in JSP