GeeCON Prague 2014*
The moose likes Web Component Certification (SCWCD/OCPJWCD) and the fly likes Initialising Database connections with JSP Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Certification » Web Component Certification (SCWCD/OCPJWCD)
Bookmark "Initialising Database connections with JSP" Watch "Initialising Database connections with JSP" New topic
Author

Initialising Database connections with JSP

Stephen Tallamy
Greenhorn

Joined: Jan 08, 2002
Posts: 16
I'm new to JSP but quite familiar with Servlets. I'm trying to understand how you would go about initialising a connection to a Database with JSP.
With a Servlet I would create a module levelConnection object in the init() method and then use this connection in the service() method.
How would I do this with JSP?
Tom Arons
Greenhorn

Joined: Jan 04, 2002
Posts: 10
You could put the code in jspInit() although this makes the JSP more like a servlet and less like a web presentation page. Scriplets are another possibility although this may not necessarily a good idea from a design view.
Stephen Tallamy
Greenhorn

Joined: Jan 08, 2002
Posts: 16
What would the best way to do this (from a design point of view) be then?
Tom Arons
Greenhorn

Joined: Jan 04, 2002
Posts: 10
Your idea of putting it in a servlet seems like a good design idea.
Axel Janssen
Ranch Hand

Joined: Jan 08, 2001
Posts: 2164
Hi ranchers.
It just me thinking loud . Understand this more as a request to the experts to comment on this:
In a fully fledged J2EE application the initialization of a database connection belongs in some sort of a data access layer and not in the presentation layer.
J2EE-architecture should support the easy substituition of a web-client frontend with other frontends such like a Swing-App or a Wap-Interface. So the backend data access logic should be very loosely coupled with the frontend.
In a pure webApp (where the probability of the need to support other client types in the future change path is very low) you might put it into a bean queried from the jspInit() or in the Controller servlet of a ModelViewController architecture.
It seems to be not very intelligent to put it in a taglib, because you cannot call the taglib code from jspInit(). So you can`t use the session life-cycle stuff and the connection is initialized everytime the JSP is invoked.
Axel
[ January 09, 2002: Message edited by: Axel Janssen ]
Roopa Bagur
Ranch Hand

Joined: Nov 03, 2000
Posts: 267
How about creating a database bean which handles the connection & then use <useBean> tag in the jsp.
Originally posted by Stephen Tallamy:
I'm new to JSP but quite familiar with Servlets. I'm trying to understand how you would go about initialising a connection to a Database with JSP.
With a Servlet I would create a module levelConnection object in the init() method and then use this connection in the service() method.
How would I do this with JSP?
Mark Spritzler
ranger
Sheriff

Joined: Feb 05, 2001
Posts: 17250
    
    6

I agree with Roopa. You want to seperate any database connection etc, from the presentation layer. the use of a JavaBean, EJB or other Servlet is the best way to do this. If using another Servlet, the purpose of that Servlet should be database access only, and no other services.
Mark


Perfect World Programming, LLC - Two Laptop Bag - Tube Organizer
How to Ask Questions the Smart Way FAQ
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Initialising Database connections with JSP