This week's giveaway is in the Spring forum.
We're giving away four copies of REST with Spring (video course) and have Eugen Paraschiv on-line!
See this thread for details.
The moose likes JSP and the fly likes using declaration and scriptlet in JSP Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Java » JSP
Bookmark "using declaration and scriptlet in JSP" Watch "using declaration and scriptlet in JSP" New topic

using declaration and scriptlet in JSP


Joined: Jun 22, 2006
Posts: 8
iam confused with issue of using declaration and scriptlet tag.

in my code i need to initialze Statement,Resultset.....
if i do that as below
Statement st=null;
ResultSet rs=null,rs1=null;
ArrayList al=null,custal=null;
int pid=0,si=0;
PreparedStatement ps=null;
String enqT=null,poT=null,serviceT=null;
%>at the end iam closing stmt & rs in finlly block

will there be any problem if i do this.coz code in declrtion tag will execute only once & not for every request.

i think thr is no need to initialize in this block.

one more thing wat is the default initial value of String var? null/space

thanx in adv.
Christophe Verré

Joined: Nov 24, 2005
Posts: 14688

Sorry, I won't comment on your first question, it kills me to see JDBC code in a jsp page

About your second question, String's default value is null.

[My Blog]
All roads lead to JavaRanch
Travis Hein
Ranch Hand

Joined: Jun 06, 2006
Posts: 161
It would probably be bad to declare a database resource, such as Statement and result within the <%! scriptlet tag, since this becomes an instance variable in the generated servlet. when the JSP page is turned into a servlet by the jsp compiler, where as the contents of <% tags declarations end up inside the service() method of the resulting servlet.

Having a PreparedStatement and a ResultSet variable declared in the <%! as class scoped variables would make your JSP page not thread safe. More than one concurrent request to the page at a given time would cause compete for the class scoped defined variables, the last one to access it would squash it.

So if you must declare JDBC variables on a JSP page, then they should be in the <% tags, not <%! tags.

Error: Keyboard not attached. Press F1 to continue.
Bear Bibeault
Author and ninkuma

Joined: Jan 10, 2002
Posts: 63542

"heidi psl",

There aren't many rules that you need to worry about here on the Ranch, but one that we take very seriously regards the use of proper names. Please take a look at the JavaRanch Naming Policy and adjust your display name to match it.

In particular, your display name must be a first and a last name separated by a space character, and must not be obviously fictitious.

JavaRanch Sheriff

[Asking smart questions] [About Bear] [Books by Bear]
subject: using declaration and scriptlet in JSP
It's not a secret anymore!