1>mysql5驱动下载:
http://dev.mysql.com/downloads/ 下Drivers and Connectors子栏中的MySQL Connector/J 5.0 ;
将mysql-connector-java-5.0.0-beta-bin.jar部署到/WEB-INF/lib下,
2>数据库连接测试
写一个测试页TestConnect.jsp
4>
写一个jsp测试页TestConnect.jsp
<%@ page contentType="text/html; charset=GBK" %>
<%@ page language="java" %>
<%@page import="org.gjt.mm.mysql.Driver" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'TestConnect.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
This is my JSP page. <br>
<table border=1 cellspacing=0 width=100%>
<tr><th>登录名</th><th>昵称</th><th>密码</th></tr>
<%
String url=
"jdbc:mysql://localhost:3306/"+
"trial?user=root&password=mysql";
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Connection con=DriverManager.getConnection(url);
Statement state = con.createStatement();
String sql="SELECT * FROM user ;";
ResultSet rs=state.executeQuery(sql);
String _id,_nm,_pw;
while(rs.next()){
_id=rs.getString("userid");
_nm=rs.getString("username");
_pw=rs.getString("password");
%>
<tr>
<td><%=_id%></td>
<td><%=_nm%></td>
<td><%=_pw%></td>
<tr>
<%
}
%>
</table>
</body>
</html>
3>决定使用dbcp在struts下配置数据连接池,
他需要下载3个包:
http://apache.justdn.org/jakarta/commons/dbcp/binaries/commons-dbcp-1.2.1.zip
http://archive.apache.org/dist/jakarta/commons/pool/commons-pool-current-src.zip
http://mirror.vmmatrix.net/apache/jakarta/commons/collections/binaries/commons-collections-3.1.zip
解压后分别将commons-dbcp-1.2.1.jar,commons-pool-1.2.jar和commons-collections-3.1.jar全部拷贝到/WEB-INF/lib目录下
4>编辑struts-comfig.xml,添加data-sou
<!-- MYSQL -->
<data-source type="org.apache.commons.dbcp.BasicDataSource" key="DB_trial">
<set-property
property="driverClassName"
value="org.gjt.mm.mysql.Driver" />
<set-property
property="url"
value="jdbc:mysql://localhost:3306/trial" />
<set-property
property="username"
value="root" />
<set-property
property="password"
value="mysql" />
<set-property
property="maxActive"
value="10" />
<set-property
property="maxWait"
value="500" />
<set-property
property="defaultAutoCommit"
value="false" />
<set-property
property="defaultReadOnly"
value="false" />
</data-source>
5>编写测试代码
........
public ActionForward
execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception
{
javax.sql.DataSource dataSource;
java.sql.Connection myConnection;
try {
dataSource = getDataSource(request,"DB_trial");
myConnection = dataSource.getConnection();
// do what you wish with myConnection
Statement state = myConnection.createStatement();
String sql="SELECT * FROM user ;";
ResultSet rs=state.executeQuery(sql);
.......
} catch (SQLException sqle) {
getServlet().log("Connection.process", sqle);
} finally {
//enclose this in a finally block to make
//sure the connection is closed
try {
myConnection.close();
} catch (SQLException e) {
getServlet().log("Connection.close", e);
}
}
}
........