Can JSTL use connection pool? Can anyone give an example scripts and configuration files?
Created Jan 5, 2003
Laurent Mihalkovic JSTL allows you to use the traditional Driver based approach or a
LaurentM.
DataSource implementation. The configuration is done either via the Web.xml file or using the JSTL API.<sql:setDataSource> has the following attributes:
Attribute Description Required Default driver Name of the JDBC driver class to be registered No None url JDBC URL for the database connection No None user Database username No None password Database password No None dataSource Database prepared in advance (String or javax.sql.DataSource) No None var Name of the variable to represent the database No Set default scope Scope of the variable to represent the database No pageHere are some samples
1. Use a database URL The connection tag accepts a database URL that can obtain a Connection through Driver Manager: <%-- open a database connection --%> <sql:connection id="conn1"> <%-- required --%> <sql:url>jdbc:mysql://localhost/test</sql:url> <%-- optional --%> <sql:driver>org.gjt.mm.mysql.Driver</sql:driver> <%-- optional --%> <sql:userId>root</sql:userId> <%-- optional --%> <sql:password>notVerySecure</sql:password> </sql:connection> The "id" attribute is required by every "connection" tag. After the end tag, a java.sql.Connection object will be added as a pageContext attribute, and it can then be referenced by other tags, including statement, preparedStatement, and closeConnection. Instead of including your database URL, driver name, user id, or password inside your tag body, you may optionally use the "initParameter" attribute: <%-- store your connection info in the web.xml file --%> <sql:connection id="conn1"> <sql:url initParameter="dbURL"/> <sql:driver initParameter="mysqlDriver"/> <sql:userId initParameter="dbUserId"/> <sql:password initParameter="dbPassword"/> </sql:connection> 2. Use a DataSource object The connection tag also accepts a reference to a Servlet attribute containing a javax.sql.DataSource object. (The attribute is found via the findAttribute() method of PageContext.): <%-- open a database connection --%> <sql:connection id="conn1" dataSource="ds1"> <%-- optional --%> <sql:userId>root</sql:userId> <%-- optional --%> <sql:password>notVerySecure</sql:password> </sql:connection> 3. Use a JNDI named JDBC DataSource The Connection tag also accepts a JNDI named JDBC DataSource. <%-- open a database connection --%> <sql:connection id="conn1" jndiName="java:/comp/jdbc/test"/>cheers,
LaurentM.