servlet+jsp+mysql+数据库连接池实现注册登陆验证码功能

首先项目的结构及所用到的jar包如图:

主要用到jdbc和jstl的jar包,大家可自行去相应网站下载

一、数据库和数据表的创建

1.建库语句:

create database test;

2.建表语句:

CREATE TABLE `t_users` (
  `user_name` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `password_md5` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
  `email` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`user_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

二、eclipse配置数据库连接池

首先创建一个动态web项目

1.把jdbc所用到的jar包复制到/web-inf/lib目录下,如图:

2.在meta-inf下创建一个context.xml文件,并输入以下代码:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/test" reloadable="true">
    <!-- 配置数据源 -->
    <Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" maxActive="100"
    maxldle="30" maxWait="10000" name="jdbc/test" password="root" type="javax.sql.DataSource"
    url="jdbc:mysql://localhost:3306/test?autoReconnect=true" username="root">
    </Resource>
</Context>

 

<Resource属性说明>

1)name:指定Resource的JNDI名字。

2)auth:指定管理Resource的Manager,它有两个可选值:Container和Application。Container表示由容器来创建和管理Resource,Application表示由web应用来创建和管理Resource。

3)type: 指定Resource的Java类名。

4)username:指定连接数据库的用户名。

5)password:指定连接数据库的口令。

6)driverClassName:指定连接数据库的JDBC驱动器中的Driver实现类的名字。

7)url:指定连接数据库的URL,127.0.0.1是要连接的数据库服务器的ip,3306是数据库服务器端口,BookDB是数据库名称。

8)maxActive:指定数据库连接池中处于活动状态的数据库连接的最大数目,取值为0,表示不受限制。

9)maxIdle:指定数据库连接池中处于空闲状态的数据库连接的最大数目,取值为0,表示不受限制。

10)maxWait:指定数据库连接池中的数据库连接处于空闲状态的最长时间(以毫秒为单位),超过这一时间,将会抛出异常。取值为-1,表示可以无限期等待。

 

3.配置web.xml

在<web-app></web-app>之间加入如下代码:

  <resource-ref>
    <description>MySQL DBCP</description>
    <res-ref-name>jdbc/test</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>

 

<resource-ref>属性说明:

1)description:对所引用的资源的说明。

2)res-ref-name:指定所引用资源的JNDI名字,与<Resource>元素中的name属性对应。

3)res-type:指定所引用资源的类名,与<Resource>元素中的type属性对应。

4)res-auth:指定管理所引用资源的Manager,与<Resource>元素中的auth属性对应。

 

4.配置server.xml文件

在tomcat\conf下找到server.xml文件,在<GlobalNamingResources></GlobalNamingResources>之间加入如下内容:

<Resource name="jdbc/test" auth="Container"
              type="javax.sql.DataSource"
              driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/test?characterEncodering=utf-8"
              username="root"
              password="root"
              maxActive="200"
              maxIdle="50"
              maxWait="3000"/>

在<Host></Host>之间加入如下内容:

 <Context docBase="D:\eclipse-workspace\loginRegister\WebContent" 
        path="/LoginRegister" reloadable="true" source="org.eclipse.jst.j2ee.server:test">
         <ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>
        </Context>

<Context>属性说明:

1)docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBase属性的相对路径。如果Web应用采用开放目录结构,则指定Web应用的根目录;如果Web应用是个WAR文件,则指定WAR文件的路径。

2)path:指定访问该Web应用的URL入口。

3)reloadable:如果这个属性为true,Tomcat服务器会在运行状态下监视classes下文件的改动和WEB-INF/web.xml文件的改动,监测到文件被改动,服务器会自动重新加载Web应用。

4)source:

<ResourceLink>属性说明:

1)global:被连接的连接全局资源的名称。

2)name:创建的资源连接的名称,相对于java:comp/env context。

3)type:当web应用在该资源连接上进行查找时,返回的Java类名的全称。

至此数据库连接池配置完

三、实现访问数据库的DBServlet类

实现代码如下:

import java.io.IOException;
import java.sql.Connection;

  • 11
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值