Using Transactions
//web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<resource-ref>
<res-ref-name>jdbc/address</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<html>
<head>
<title>Using Transactions</title>
<sql:setDataSource
var="conn"
dataSource="jdbc/address"
/>
</head>
<body>
<h1>Modify Address List</h1>
<sql:transaction dataSource="${conn}" isolation="TRANSACTION_SERIALIZABLE">
<sql:update>
INSERT INTO AddressList (name, street, city, country, telephone) VALUES (?, ?, ?, ?, ?)
<sql:param value='${param["name"]}'/>
<sql:param value='${param["street"]}'/>
<sql:param value='${param["city"]}'/>
<sql:param value='${param["country"]}'/>
<sql:param value='${param["tel"]}'/>
</sql:update>
<sql:query var="addresses">
SELECT * FROM AddressList
</sql:query>
<table width="90%" border="1">
<tr>
<!-- add the table column headings -->
<c:forEach var="columnName" items="${addresses.columnNames}">
<th> <c:out value="${columnName}"/> </th>
</c:forEach>
</tr>
<!-- add the table rows from the result set -->
<c:forEach var="row" items="${addresses.rowsByIndex}">
<tr>
<c:forEach var="column" items="${row}">
<td><c:out value="${column}"/></td>
</c:forEach>
</tr>
</c:forEach>
</table>
</sql:transaction>
</body>
</html>
Related examples in the same category