JSTL setDataSource Tag provides capability to create a datasource directly from JSP and it can be stored in a variable to use later with the help of scope attribute.
Syntax-
<sql:setDataSource
var="<string>"
scope="<string>"
dataSource="<string>"
driver="<string>"
url="<string>"
user="<string>"
password="<string>"/>
JSP <sql:setDataSource> Tag has following attributes.
1. driver Attribute: Specifies the driver to connect database. For each database there is a separate driver. In this example, we are connecting to MySQL database and hence driver is com.mysql.jdbc.Driver
2. url Attribute: Specifies the location of the database.
3. var Attribute: Specifies the variable which holds the dataSource once it is created.
4. user Attribute: Specifies the user you already created to access database.
5. password Attribute: Specifies the password for the user you already assigned to access database.
JSP setDataSource Example:
Consider the following information about your MySQL database setup:
- We are using JDBC MySQL driver.
- We are going to connect to TEST database on local machine.
- We would use user_id and mypassword to access TEST database.
All the above parameters would vary based on your MySQL or any other database setup. Keeping above parameters in mind, following is a simple example to use setDataSource tag:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JSTL SQL Tags - setDataSource Example</title>
</head>
<body>
<sql:setDataSource driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/database_name"
var="localSource"
user="database_user"
password="database_password"/>
<sql:query dataSource="${localSource}"
sql="SELECT * FROM employee WHERE salary > 10000"
var="result" />
</body>
</html>
As shown above setDataSource Tag set data source in a variable localSource. Using this data source, you can do SQL operations directly from JSP.