On Tue, 17 Dec 2002 17:45, "Mark" <[EMAIL PROTECTED]> wrote: > >Thanks edgar.. > >For those folks who are starting out or don't read binary > >Context and InitialContext are part of the javax.naming package.... > >So you'll need to >import javax.naming.Context; >import javax.naming.InitialContext; > >The javadocs are less cryptic.. Sometimes is just knowing which ones one has >to read.. > >Many thanks again mark > > >On 17-12-2002 17:18, "Edgar P. Dollin" <[EMAIL PROTECTED]> wrote: >> >> Context env = (Context) new >> InitialContext().lookup("java:comp/env"); >> DataSource ds = (DataSource) env.lookup("yourconnection"); >> conn = ds.getConnection();
Here's another way to do it without using JNDI: Given a stuts-config.xml file with a datasource like this: <data-sources> <data-source key="myDatabase" type="org.apache.struts.util.GenericDataSource"> <set-property property="url" value=" ... "/> ... </data-source> </data-sources> You can access a database connection in your Action like this: Connection dbCon = null; ServletContext context = servlet.getServletContext(); DataSource ds = (DataSource) context.getAttribute("myDatabase"); try{ dbCon = ds.getConnection(); ... Now at this point you want to use a "model" or "business" object that handles that actual logic. For example, suppose we have a Product class: Product product = new Product(); List productList = product.getProductList(dbCon); Or something like that. This should keep proper MVC design. If anyone has a good reason why one should use JNDI rather than the servlet context, I'd like to here it. (I guess I can think of a few cases...). Also, I found the DAO (Data Access Object) pattern implemented in the JPetStore example helpful in learning how to properly seperate models and actions. JPetStore is a Struts implementation of Sun's J2EE PetStore. It uses its own database connection pooling, but the DAO stuff is good nonetheless. JPetStore can be found at http://ibatis.com/jpetstore/jpetstore.html Hope that helps. jaaron __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>