tomcat和mysql配置的一个细节

  配置MySQL的JDBC驱动,别忘了将mysql-connector-java-3.1.13-bin.jar放到%CATALINA_HOME%/common/lib目录下。

下面是孙鑫web开发详解的一个例子

JDK+Tomcat+Servlet连接Mysql数据库

一、准备软件
Tomcat            5.0.30
JDK               j2sdk1.4.2_10
JDBC              mysql-connector-java-3.1.13-bin.jar
Mysql             5.0
SQLyog            5.02
二、配置环境
下载好软件并安装好,默认路径如下
JDK:        C:/j2sdk1.4.2_10
Tomcat:     C:/Program Files/Apache Software Foundation/Tomcat5.0
Mysql:      C:/Program Files/MySQL
JDBC:       将下载下来的JDBC驱动解压缩,我放在了D:/根目录。

开始进行环境变置配置:右键单击“我的电脑”选择属性,高级——环境变量,在系统变量下,选“新建”,具体配置如下:
变量名                     变量值
CATALINA_HOME      C:/Program Files/Apache Software Foundation/Tomcat5.0
classpath           .;%JAVA_HOME%/lib/tools.jar; 
                    %JAVA_HOME%/jre/lib/rt.jar;
                    %CATALINA_HOME%/common/lib/servlet-api.jar;
                    %JAVA_HOME%/lib/mysql-connector-java-3.1.13-bin-g.jar;
                    D:/mysql-connector-java-3.1.13-bin.jar
JAVA_HOME           C:/j2sdk1.4.2_10

注意:       
1/在classpath设置时,.;是不能省略的,它代表了当前路径。
2/将下载下来的JDBC驱动解压缩后,可以看到mysql-connector-java-3.1.13-bin.jar文件及相关的文件夹,打开其中的debug文件夹,可以找到mysql-connector-java-3.1.13-bin-g.jar文件。
3/在classpath中设置%CATALINA_HOME%/common/lib/servlet-api.jar;是为了使Servlet可用。
三、用Servlet建立一个bookstore数据库,并插入数据。若运行成功打印“success!”否则抛出异常打印“加载数据库失败”。
1、在C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps下建立文件夹test,在test文件夹下建立WEB-INF文件夹,在WEB-INF文件夹下建立classes文件夹。
2、建立CreateDBServlet.java文件,内容如下:
import javax.servlet.*;
import java.io.*;
import javax.servlet.http.*;
import java.sql.*;

public class CreateDBServlet extends HttpServlet
{
    private String url;
    private String user;
    private String password;
   
    public void init() throws ServletException
    {
        String driverClass=getInitParameter("driverClass");
        url=getInitParameter("url");
        user=getInitParameter("user");
        password=getInitParameter("password");
        try
        {
            Class.forName(driverClass);
        }
        catch(ClassNotFoundException ce)
        {
            throw new UnavailableException("加载数据库驱动失败!");
        }
    }
   
    public void doGet(HttpServletRequest req, HttpServletResponse resp)
               throws ServletException,IOException
    {
        Connection conn=null;
        Statement stmt=null;
        try
        {
            conn=DriverManager.getConnection(url,user,password);
            stmt=conn.createStatement();
            stmt.executeUpdate("create database bookstore");
            stmt.executeUpdate("use bookstore");
            stmt.executeUpdate("create table bookinfo(id INT not null primary key,title VARCHAR(50) not null,author VARCHAR(50) not null,bookconcern VARCHAR(100) not null,publish_date DATE not null,price FLOAT(4,2) not null,amount SMALLINT,remark VARCHAR(200)) ENGINE=InnoDB");
            stmt.addBatch("insert into bookinfo values(1,'Java从入门到精通','张三','张三出版社','2004-6-1',34.00,35,null)");
            stmt.addBatch("insert into bookinfo values(2,'JSP深入编程','李四','李四出版社','2004-10-1',56.00,20,null)");
            stmt.addBatch("insert into bookinfo values(3,'J2EE高级编程','王五','王五出版社','2005-3-1',78.00,10,null)");
            stmt.executeBatch();
            
            PrintWriter out=resp.getWriter();
            out.println("success!");
            out.close();
        }
        catch(SQLException se)
        {
            se.printStackTrace();
        }
        finally
        {
            if(stmt!=null)
            {
                try
                {
                    stmt.close();
                }
                catch(SQLException se)
                {
                    se.printStackTrace();
                }
                stmt=null;
            }
            if(conn!=null)
            {
                try
                {
                    conn.close();
                }
                catch(SQLException se)
                {
                    se.printStackTrace();
                }
                conn=null;
            }
        }
    }
}
2、编译CreateDBServlet.java生成CreateDBServlet.class文件,将其剪切到classes文件夹中。
3、部署Servlet(如果不在webapps文件夹中,则必须设置此步,假设在D:/test)
在%CATALINA_HOME%/conf/Catalina/localhost目录下,配置运行目录,建立test.xml文件
test.xml
<Context path="/test" docBase="D:/test" reloadable="true"/>
4、按Web应用程序的目录层次结构,在刚刚建立的test目录下中的WEB-INF目录中新建web.xml文件。
web.xml
<?xml version="1.0" encoding="gb2312"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
 <servlet>
        <servlet-name>CreateDBServlet</servlet-name>
        <servlet-class>CreateDBServlet</servlet-class>
               <init-param>
                                           <param-name>driverClass</param-name>
                                           <param-value>com.mysql.jdbc.Driver</param-value>
                            </init-param>
                            <init-param>
                                    <param-name>url</param-name>
                                    <param-value>jdbc:mysql://localhost:3306/mysql</param-value>
                            </init-param>
                            <init-param>
                                    <param-name>user</param-name>
                                    <param-value>root</param-value>
                            </init-param>
                            <init-param>
                                    <param-name>password</param-name>
                                    <param-value>123456</param-value>
                            </init-param>
    </servlet>
  
    <servlet-mapping>
        <servlet-name>CreateDBServlet</servlet-name>
        <url-pattern>/createdb</url-pattern>
    </servlet-mapping>
  
</web-app>

5、配置MySQL的JDBC驱动,将mysql-connector-java-3.1.13-bin.jar放到%CATALINA_HOME%/common/lib目录下。
6、启动TOMCAT,启动mysql,输入http://localhost:8080/test/createdb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值