`
tzheng517
  • 浏览: 8922 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Tomcat6.0数据源配置

阅读更多
tomcat6.0 数据源配置:
这里是以Mysql数据库为例,其他的数据库都是一样的配置
首先将mysql驱动拷贝到tomcat下的lib目录下。C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib
然后修改C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf下的context.xml文件,在里面添加如下代码:

在Context标签里添加一个属性 reloadable="true"
<WatchedResource>WEB-INF/web.xml</WatchedResource><!--这个有就不需要添加-->
<Resource name="jdbc/mysqlds" auth="Container" type="javax.sql.DataSource"
    maxActive="100" maxIdle="30" maxWait="10000" username="root" password="admin" driverClassName="com.mysql.jdbc.Driver"        url="jdbc:mysql://localhost:3306/databasename"/>
下面解释一下各属性的含义:
name             表示指定的jndi名称 (这个名字这里可以随便写)
auth             表示认证方式,一般为Container
type             表示数据源床型,使用标准的javax.sql.DataSource
maxActive        表示连接池当中最大的数据库连接
maxIdle          表示最大的空闲连接数
maxWait          当池的数据库连接已经被占用的时候,最大等待时间
logAbandoned     表示被丢弃的数据库连接是否做记录,以便跟踪
username         表示数据库用户名
password         表示数据库用户的密码
driverClassName  表示JDBC DRIVER
url              表示数据库URL地址

下面以一个登陆示例来说明:
数据库中一个用户(User)表三个字段:userid,username,userpassword
新建一个web项目
建立一个包com.tomcattest包下建立三个类一个UserBean,DataBase,LoginServlet

Userbean.class的代码包含如下内容:

package com.tomcattest;

public class UserBean {

private int userid;
private String username;
private String userpassword;

public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserpassword() {
return userpassword;
}
public void setUserpassword(String userpassword) {
this.userpassword = userpassword;
}

}

DataBase.class的代码如下:

package com.tomcattest;
import java.sql.SQLException;
import java.util.List;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;

public class Database {
//下载后的DbUtils解压后,将commons-dbutils-1.1.jar导入项目
public boolean getUser(String sql){
List list=null;
try {
  Context context=new InitialContext();
  DataSource ds=(DataSource) context.lookup("java:/comp/env/jdbc/mysqlds");  // "java:/comp/env/"是固定写法,后面接的是context.xml中的Resource中name属性的值
  QueryRunner query=new QueryRunner(ds);  //这个是DbUtils下的类 DbUtils可以在apache的官方网站下载,在commons目录下,现在最新版本为1.1
  list=(List)query.query(sql, new BeanListHandler(UserBean.class));
  //BeanListHandler是DbUtils下的一个类,用于查询也还可以是MapListHandler
  // list=(List)query.query(sql, new MapListHandler()); list里有多个map集合
  //修改 添加 删除调用update方法
  } catch (NamingException e) {
e.printStackTrace();
  } catch (SQLException e) {
e.printStackTrace();
  }
  return list.size()>0?true:false;
  }
}

LoginServlet是一个Servlet,代码如下:

package com.tomcattest;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginServlet extends HttpServlet {


public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String action=request.getParameter("action");
if(action.equals("CheckLogin")){
this.CheckLogin(request, response);
}

}


public void CheckLogin(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

request.setCharacterEncoding("gbk");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String name=request.getParameter("name");
String password=request.getParameter("password");
Database db=new Database();
String sql="select * from user where username='"+name+"' and userpassword='"+password+"'";
boolean b=db.getUser(sql);
if(b){
out.print("<script>alert('login success!');</script>");
}else{
out.print("<script>alert('fail success!');</script>");
}

}

}

最后将index.jsp页面改成如下即可:

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  </head>
  <body>
   <form action="servlet/LoginServlet?action=CheckLogin" method="post">
   <input type="text" name="name"></br>
   <input type="password" name="password"></br>
   <input type="submit">
   </form>
  </body>
</html>
分享到:
评论
2 楼 Narnia08 2009-03-07  
tzheng517 写道
tomcat6.0 数据源配置:
这里是以Mysql数据库为例,其他的数据库都是一样的配置
首先将mysql驱动拷贝到tomcat下的lib目录下。C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib
然后修改C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf下的context.xml文件,在里面添加如下代码:

在Context标签里添加一个属性 reloadable="true"
<WatchedResource>WEB-INF/web.xml</WatchedResource><!--这个有就不需要添加-->
<Resource name="jdbc/mysqlds" auth="Container" type="javax.sql.DataSource"
    maxActive="100" maxIdle="30" maxWait="10000" username="root" password="admin" driverClassName="com.mysql.jdbc.Driver"        url="jdbc:mysql://localhost:3306/databasename"/>
下面解释一下各属性的含义:
name             表示指定的jndi名称 (这个名字这里可以随便写)
auth             表示认证方式,一般为Container
type             表示数据源床型,使用标准的javax.sql.DataSource
maxActive        表示连接池当中最大的数据库连接
maxIdle          表示最大的空闲连接数
maxWait          当池的数据库连接已经被占用的时候,最大等待时间
logAbandoned     表示被丢弃的数据库连接是否做记录,以便跟踪
username         表示数据库用户名
password         表示数据库用户的密码
driverClassName  表示JDBC DRIVER
url              表示数据库URL地址

下面以一个登陆示例来说明:
数据库中一个用户(User)表三个字段:userid,username,userpassword
新建一个web项目
建立一个包com.tomcattest包下建立三个类一个UserBean,DataBase,LoginServlet

Userbean.class的代码包含如下内容:

package com.tomcattest;

public class UserBean {

private int userid;
private String username;
private String userpassword;

public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserpassword() {
return userpassword;
}
public void setUserpassword(String userpassword) {
this.userpassword = userpassword;
}

}

DataBase.class的代码如下:

package com.tomcattest;
import java.sql.SQLException;
import java.util.List;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;

public class Database {
//下载后的DbUtils解压后,将commons-dbutils-1.1.jar导入项目
public boolean getUser(String sql){
List list=null;
try {
  Context context=new InitialContext();
  DataSource ds=(DataSource) context.lookup("java:/comp/env/jdbc/mysqlds");  // "java:/comp/env/"是固定写法,后面接的是context.xml中的Resource中name属性的值
  QueryRunner query=new QueryRunner(ds);  //这个是DbUtils下的类 DbUtils可以在apache的官方网站下载,在commons目录下,现在最新版本为1.1
  list=(List)query.query(sql, new BeanListHandler(UserBean.class));
  //BeanListHandler是DbUtils下的一个类,用于查询也还可以是MapListHandler
  // list=(List)query.query(sql, new MapListHandler()); list里有多个map集合
  //修改 添加 删除调用update方法
  } catch (NamingException e) {
e.printStackTrace();
  } catch (SQLException e) {
e.printStackTrace();
  }
  return list.size()>0?true:false;
  }
}

LoginServlet是一个Servlet,代码如下:

package com.tomcattest;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginServlet extends HttpServlet {


public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String action=request.getParameter("action");
if(action.equals("CheckLogin")){
this.CheckLogin(request, response);
}

}


public void CheckLogin(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

request.setCharacterEncoding("gbk");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String name=request.getParameter("name");
String password=request.getParameter("password");
Database db=new Database();
String sql="select * from user where username='"+name+"' and userpassword='"+password+"'";
boolean b=db.getUser(sql);
if(b){
out.print("<script>alert('login success!');</script>");
}else{
out.print("<script>alert('fail success!');</script>");
}

}

}

最后将index.jsp页面改成如下即可:

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  </head>
  <body>
   <form action="servlet/LoginServlet?action=CheckLogin" method="post">
   <input type="text" name="name"></br>
   <input type="password" name="password"></br>
   <input type="submit">
   </form>
  </body>
</html>

1 楼 toeo 2009-03-07  
tomcat的数据源是apache的 dbcp的数据源吧???

这个数据源速度不是很快..建议换成 proxool的数据源...

目前在 service.xml配置还是没有弄出来..不过在spring下面好配置多了.

相关推荐

    tomcat6.0 数据源配置

    标题“Tomcat6.0数据源配置”涉及的是在Apache Tomcat 6.0版本中设置和管理数据库连接池的过程。Tomcat作为一个流行的开源Java应用服务器,提供了多种数据源配置方式,以支持Web应用程序高效、安全地访问数据库。在...

    tomcat 6.0 数据源的配置

    【Tomcat 6.0 数据源配置详解】 在Java应用服务器如Tomcat 6.0中,数据源的配置是一项至关重要的任务,因为它允许应用程序通过JNDI(Java Naming and Directory Interface)查找并使用数据源来操作数据库。数据源...

    Tomcat6.0数据源配置[文].pdf

    要测试数据源配置是否正确,可以创建一个`test.jsp`页面,通过JNDI查找并获取数据源,然后连接数据库。以下是`test.jsp`的部分代码: ```jsp Context initContext = new InitialContext(); Context envContext = ...

    Tomcat5.0和5.5以及6.0数据源配置

    ### Tomcat5.0、5.5及6.0数据源配置详解 #### 一、Tomcat 5.0 数据源配置步骤 ##### 准备工作 - **环境搭建**:确保已经安装了Tomcat 5.0,并将相应的数据库驱动程序(例如MySQL驱动)放置到`tomcat5.0/common/lib...

    Tomcat6.0配置数据源

    ### Tomcat 6.0 数据源配置详解 在Java Web开发中,数据库连接管理是非常重要的环节之一。为了提高效率并避免频繁地打开和关闭数据库连接,通常会采用配置数据源的方式来管理这些连接。本文将详细介绍如何在Tomcat ...

    tomcat6.0 配置jndi

    1. **创建数据源配置文件**:在Tomcat的`conf/server.xml`文件中,找到`&lt;GlobalNamingResources&gt;`标签,在其中添加数据源的配置。例如,创建一个名为`jdbc/myDataSource`的数据源: ```xml type="javax.sql....

    Tomcat6.0_数据源配置

    Tomcat6.0数据源可以在context.xml文件下配置,也可以在web.xml下配置,本人建议在context.xml文件下配置,因为每当有改动,即时可以监测到,如果在web.xml下配置要重启才能监测到....

    apache-tomcat6.0-tomcat+配置教程

    `Context`元素下的`Resource`和`ResourceLink`可以用来配置JNDI(Java Naming and Directory Interface)资源,如数据源和邮件会话。 10. **性能优化** 通过调整JVM参数(如`JAVA_OPTS`),设置内存大小,以及...

    Tomcat6.0配置JNDI数据源完整例子(5.5与此配置相同)

    本文将详细讲解如何在Tomcat 6.0版本中配置JNDI(Java Naming and Directory Interface)数据源,这个过程与Tomcat 5.5版本基本相同。JNDI允许应用通过一个统一的接口来查找和访问资源,如数据库连接池,从而提高...

    Tomcat6.0 JNDI数据源经典实例

    本实例是一个关于如何在Tomcat 6.0中配置和使用JNDI数据源的经典示例,包含了所需的JAR包、配置文件和SQL脚本。 首先,我们来看配置JNDI数据源的步骤。在Tomcat的`conf/server.xml`文件中,你需要添加一个新的`...

    tomcat6.0数据库连接池驱动

    Tomcat 6.0数据库连接池驱动的使用,涉及到的主要知识点包括:数据库连接池的概念与作用,Tomcat内置的数据源实现(DBCP和C3P0),数据源的配置方法,JNDI的使用,以及在Java代码中获取和释放数据库连接。...

    tomcat 6.0 64位

    4. **JNDI(Java Naming and Directory Interface)**:提供了命名和目录服务,用于查找和管理资源,如数据源或邮件会话。 5. **安全管理**:支持角色基础的访问控制(RBAC),可以配置不同角色的权限。 6. **热部署...

    tomcat6.0配置MYSQL数据源步骤及获取方法

    ”,则表明数据源配置成功。 **注意事项** - 配置时需确保MySQL驱动`mysql-connector-java.jar`已加入到Tomcat的`lib`目录中,否则会抛出找不到驱动的异常。 - `useSSL=false`是为了避免SSL连接问题,如果MySQL...

    tomcat6.0连接池配置方法详解

    为了使Web应用能够访问到前面配置的数据源,我们需要在 `web.xml` 文件中添加一个 `&lt;resource-ref&gt;` 元素来引用该数据源。示例如下: ```xml &lt;description&gt;DBConnection &lt;res-ref-name&gt;jdbc/mysql &lt;res-type&gt;...

    tomcat6.0软件及安装配置

    - `conf/context.xml`用于配置特定应用的上下文,如数据源、session配置等。 七、安全管理 - 在`conf/tomcat-users.xml`中添加用户和角色,以实现基于角色的访问控制。 - 配置`conf/server.xml`中的 Realm 元素,如...

    Tomcat6.0连接池配置

    这里配置了一个名为`jdbc/sql`的数据源,使用了Microsoft SQL Server的JDBC驱动,连接到本地1433端口的SQL Server数据库,并设置了最大活动连接数(maxActive)、最大空闲连接数(maxIdle)和最大等待时间(maxWait...

    Tomcat 6.0配置数据源(DBCP)和JNDI使用

    本教程将详细讲解如何在Tomcat 6.0中配置数据源(DBCP)以及如何利用JNDI(Java Naming and Directory Interface)进行服务查找。首先,我们需要了解这两个概念的基础知识。 DBCP(Database Connection Pool)是...

    tomcat6.0官方文档文档

    这里提供了使用JNDI配置数据源的实例,涵盖了不同数据库(如MySQL、Oracle等)的连接池配置,帮助开发者快速集成数据库。 八、SSL配置(ssl-howto.html) SSL(Secure Socket Layer)用于加密网络通信,确保数据...

    Tomcat6.0+MyEclipse6.0+mysql5.0数据库连接池配置!.pdf

    `res-ref-name`的值必须与`context.xml`中`name`属性的值一致,即`jdbc/test`,确保应用能够正确地找到并使用配置好的数据源。 此外,为了使Tomcat能够识别并使用MySQL的JDBC驱动,我们需要将对应的jar包(如`mysql...

Global site tag (gtag.js) - Google Analytics