加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Tomcat的服务器配置连接sqlserver和mysql数据库

(2007-07-11 12:46:41)
分类: IT技术

Tomcat 的服务器配置

一、tomcat的安装

1、  jdk的安装,建议选用最新的JDK 1.6 里面包括JDK还有JRE1.6。

2、  安装tomcat,没有什么好说的,值得一说的是服务器虚拟机的选择。一定要选择jdk1.6.0\jre\bin\server 下的jvm.dll文件,不要选择jre1.6.0\bin\client 下的jvm.dll

二、配置web文件夹虚拟目录,

应该指出的是每一个web文件夹应该包含jsp页面和WEB-INF文件夹。WEB-INF文件夹下包含web.xml文件(配置文件)和class、lib文件夹。

在Tomcat _HOME\conf\Catalina\localhost\文件夹下新建一个test.xml文件,在里面添加:

<?xml version="1.0" encoding="UTF-8"?>

<Context docBase="D:/jdweb" reload="true">

</Context>

注释:docBase= "D:/jdweb"是web文件夹的路径,一般最好制定为绝对路径。Xml文件的名字就是http://localhost:8080/test/ 中8080后面的路径。reload=”true” 表示当web文件夹的内容更改后,不用重新启动tomcat服务器就可以。

配置完成以后,启动tomcat以后,在浏览器中输入http://localhost:8080/test/+jsp文件名。就可以验证配置是否成功。

注:使用这种配置方法,可以避免非要把web文件夹放在TOMCAT_HOME/webapps文件夹下的弊端。

三、tomcat+MySQL 的配置(一)

声明:tomcat 的版本是5.5.7, MySQL的版本是5.0。其他版本的配置大概相同。需要提前准备好的东西是安装好的tomcat和Mysql数据库以及mysql的JDBC驱动程序mysql-connector-java-3.0.16-ga-bin.jar。

1、  MySQL的安装在这里就不详细说了,要注意的就是两点:数据库的默认字符编码要选择gbk、gb2312或者utf8中的某一种;数据库root用户名的密码一定要牢记。

注意:要将MySQL的驱动程序,放到Tomcat _HOME\common\lib文件夹下。

2、  建立tomcat虚拟目录并配置连接池

在TOMCAT_HOME\conf\Catalina\localhost\目录下建立一个与工程同名的xml文件.这里我的工程叫jdweb,所以我建立叫jdweb.xml文件,打开文件添加如下内容:

<?xml version="1.0" encoding="UTF-8"?>

<Context docBase="D:/jdweb" reload="true">

<Resource

name="jdbc/mytest"

auth="Container"

type="javax.sql.DataSource"

maxActive="100"

maxIdle="30"

maxWait="10000"

username="root"

password="123456"

driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://127.0.0.1/test?useUnicode=true&amp;characterEncoding=GBK"/>

</Context>

上面,您需要更改docBase为"<该工程路径>",name为JNDI名空间,username为数据库用户名,password为数据库密码,url为"jdbc:mysql://<数据库服务器ip>/<数据库名>?useUnicode=true&amp;characterEncoding=GBK".

对于服务器的配置,在TOMCAT_HOME\conf\文件夹下的server.xml的<GlobalNamingResources></GlobalNamingResources>之间加入

<Resource

name="jdbc/mytest"

auth="Container"

type="javax.sql.DataSource"

maxActive="100"

maxIdle="30"

maxWait="10000"

username="root"

password="123456"

driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://127.0.0.1/test?useUnicode=true&amp;characterEncoding=GBK"/>

配置完毕。

3、  测试

在工程路径下新建一个jsp文件为test.jsp.

<%@page contentType="text/html;charset=gbk"%>

<%@page import="java.sql.*"%>

<%@page import="javax.sql.DataSource"%>

<%@page import="javax.naming.*"%>

<html>

<body>

<%try{

  Context initCtx=new InitialContext();

   DataSource db = (DataSource)initCtx.lookup("java:comp/env/jdbc/mytest");

   Connection conn = db.getConnection();

   Statement stmt = conn.createStatement();

   ResultSet rs = stmt.executeQuery("SELECT * FROM admin");

   out.println("User-list"+"<br>");

   while(rs.next()){

  out.print(rs.getString(1)+" ");

  out.print(rs.getString(2)+"<br>");

 }

rs.close();

stmt.close();

conn.close();

}catch(Exception e){

  out.print(e);}%>

</body>

</html>

注意更改为您自己的sql代码.

执行,完毕.

四、tomcat+MySQL 的配置(二)

1、使用Tomcat的Web管理应用配置数据源

   启动Tomcat服务器,打开浏览器,输入http://localhost:8080/admin/(其中localhost是名称服务器或称为主机),进入管理界面的登陆页面,这时候请输入原来安装时要求输入的用户名和密码,登陆到管理界面,选择Resources-Data sources进入配置数据源界面,选择Data Source Actions ->选择Create New Data Source,进入配置详细信息界面,内容如下:


            JNDI Name:    jdbc/mysql
Data Source URL:  jdbc:mysql://localhost:3306/cs  
JDBC Driver Class:   com.mysql.jdbc.Driver
User Name:    root
Password:     ********
Max. Active Connections:    4
Max. Idle Connections:    2
Max. Wait for Connection:    5000
Validation Query:  

?/P>

要求输入的JNDI Name等信息,其中除了JDBC DriverClass之外,其他的可以根据你的需要填写。比如Data Source URL的内容可能是:jdbc:mysql:// IP或是名称/DataBaseName,其中DataBaseName是你的数据库名称,IP是你的数据库的所在的服务器的IP或是名称。最后点击Save->Commit Change.这样你的数据源的基本资料配置一半了。

2、修改web.xml和%TOMCAT_HOME%\conf\Catalina\localhost下对应你的引用的配置文件

打开%TOMCAT_HOME%\conf\web.xml,在</web-app>的前面添加以下内容:

?/P>

?/P>

注意res-ref-name填写的内容要与在上文提到的JNDI Name名称一致。进入%TOMCAT_HOME%\conf\Catalina\localhost下,找到你的web应用对应的.xml文件(下面有我的web的目录结构),如    myweb.xml,并在此文件的下添入代码:

<ResourceLink name="jdbc/mysql" global="jdbc/mysql" type="javax.sql.DataSourcer"/>到这里,配置工作就基本完成了。

3、  其他注意事项

别忘了JDBC驱动程序mysql-connector-java-3.0.9-stable-bin.jar一定要放置到Tomcat的对应目录,你的JDBC驱动可能版比笔者高,不过只要能与所使用的MySql对应就可以了,因为我发现版本太低的JDBC驱动不能支持4.0.*版本的MySQL数据库,建议放置在%TOMCAT_HOME%\common\lib和应用的WEB-INF\lib下。两者有什么不同呢?其实一看就明白了,common\lib是所有的应用都可以使用的库文件位置。

重启你的Tomcat服务。

4、测试:

用三中的测试页面就可以。

 

五、配置tomcat+sql2000数据库连接池

1、      把数据库sql2000的JDBC驱动拷贝到%TOMCAT_HOME%/common/lib和%TOMCAT_HOME%/webapps/yourweb/WEB-INF/lib下(我的web文件夹名字叫quickstart)

2、      修改%TOMCAT_HOME%/conf/server.xml文件,注意添加内容的位置要在<GlobalNamingResources></GlobalNamingResources>之间:

<Resource
  name="jdbc/quickstart"
  type="javax.sql.DataSource"
  password="123456"
  driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
  maxIdle="2"
  maxWait="5000"
  username="sa"
    url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart"   maxActive="4"/>

以上内容根据大家的具体情况进行相应修改,比如:把name="jdbc/quickstart"中的quickstart改成和你web文件夹名称一样,把password="123456"中的“123456”改成你数据库的密码。

3、在%TOMCAT_HOME%/conf/Catalina/localhost下新建一个与你web文件夹同名的xml文件(我的是quickstart.xml),这一步非常重要,如果没有这步就会出错,会出现org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null',这样的错误,在文件中加入第2步的内容,如下:
  <?xml version="1.0" encoding="UTF-8"?>

<Context>
  <Resource
  name="jdbc/quickstart"
  type="javax.sql.DataSource"
  password="123456"
  driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
  maxIdle="2"
  maxWait="5000"
  username="sa"
  url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart"
  maxActive="4"/>

 </Context>
根据个人具体情况进行相应修改。

4、修改你的工程文件夹下WEB-INF下得的web.xml文件,在<web-app></web-app>之间添加以下内容

<resource-ref>
  <description>sqlserverDB Connection</description>
  <res-ref-name>jdbc/quickstart</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
  </resource-ref>
  把<res-ref-name>jdbc/quickstart</res-ref-name>中的quickstart改成你的web文件夹名称。

5、测试,在quickstart下新建一个index.jsp文件

<%@ page contentType="text/html; charset=gb2312" %>

<%@ page import="javax.naming.*" %>

<%@ page import="javax.sql.*" %>

<%@ page import="java.sql.*" %>

<html>

<head><title>JDBC Test</title></head>

<body>

<%

  Connection conn=null;

  Statement stmt=null;

  ResultSet rs=null;

  ResultSetMetaData md=null;

  try

  {

  Context initCtx=new InitialContext();

  DataSource ds=(DataSource)initCtx.lookup("java:comp/env/jdbc/quickstart");

  if(ds!=null)

  {

  out.println("已经获得DataSource");

  out.println(ds.toString());

  conn=ds.getConnection();

  stmt=conn.createStatement();

  out.println("aa");

  rs=stmt.executeQuery("select * from cat");

  md=rs.getMetaData();

  out.println("<table border=1>");

  out.println("<tr>");

  for(int i=0;i<md.getColumnCount();i++)

  {

  out.println("<td>"+md.getColumnName(i+1)+"</td>");

  }

  while(rs.next())

  {

  out.println("<tr>");

  out.println("<td>"+rs.getString(1)+"</td>");

  out.println("<td>"+rs.getString(2)+"</td>");

  out.println("<td>"+rs.getString(3)+"</td>");

  out.println("<td>"+rs.getString(4)+"</td>");

  out.println("</tr>");

  }

  out.println("</table>");

  conn.close();

  }

  }

  catch(Exception e)

  {

  out.println(e.toString());

  System.out.println(e.toString());

}

%>

</body>

</html>

六、Tomcat+Sql2005

Sql Server2000和2005的连接代码区别写连接代码时需要注意2000和2005的不同:
1、连接SqlServer2000
  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
  URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb";
2、连接SqlServer2005
  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
  URL = "jdbc:sqlserver://localhost:1433;DatabaseName=tempdb";

注:用配置mysql的第一种方法,搞定了2005。D盘的jdweb文件夹,有配好的mysql和sql2005连接池。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有