java web中jsp连接mysql数据库 以及数据库连接池的使用
将 mysql-connector-java-5.1.6-bin.jar 导入到 tomcat 的 lib 目录下。
在 java 项目中,只需要引入 mysql-connector-java-5.1.6-bin.jar 就可以运行 java 项目。
在 web 项目中,当 Class.forName("com.mysql.jdbc.Driver"); 时 myeclipse 是不会去查找字符串,不会去查找驱动的。所以只需要把 mysql-connector-java-5.1.6-bin.jar 拷贝到 tomcat 下 lib 目录就可以了。
在 jsp 页面中导入
<%@page import="java.sql.SQLException" %>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Driver"%>
连接数据库
<%
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception e){
e.printStackTrace();
}
try {
Connection connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
out.println("数据库连接成功!");
connection.close();
} catch (Exception e) {
out.println("数据库连接失败");
}
%>
下面是在 tomcat7 中配置数据源和连接池
JNDI: 是一种将对象和名字绑定的技术,容器生产出对象,都和唯一的名字绑定,外部程序可以通过名字来获取该对象。
首先跟上面一样将 mysql-connector-java-5.1.6-bin.jar 放到 tomcat 的 lib 文件下,然后在 WebRoot/META-INF 下创建一个名为 context.xml 的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/dbtom" docBase="dbtom" reloadable="true" crossContext="true">
<Resource
name="jdbc/books"
auth="Container" // 两个可选值:Container 和 Application 前者表示用容器创建,后者表示用 web 应用来创建和管理 Resource。
type="javax.sql.DataSource" // 指定 Resource 所属的 Java 类名
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password="123456"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"/>
</Context>
<% try{ Context initContext = new InitialContext(); Context envContext = (Context)initContext.lookup("java:/comp/env"); DataSource ds = (DataSource)envContext.lookup("jdbc/books"); Connection conn = ds.getConnection(); out.print("连接成功"); conn.close();}catch(Exception e){ out.print("error");} %>