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");}
     %>