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;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import javax.naming.Context;
import javax.naming.InitialContext;

  • 11
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JSP(Java Server Pages)、Servlet、C3P0连接以及MySQL数据库可以一起使用来实现一个简单的新闻系统。 JSP是一种动态网页开发技术,可以在网页上直接嵌入Java代码。通过使用JSP,我们可以将网页与后端代码相结合,以实现新闻系统的前端展示。 Servlet是一个Java类,可以处理HTTP请求和生成HTTP响应。在新闻系统中,我们可以创建一个Servlet用于接收用户的请求,例如浏览新闻、发布新闻等,然后调用后端的业务逻辑进行处理。 C3P0是一个Java数据库连接,用于管理和优化数据库连接的创建和销毁。在新闻系统中,我们可以配置C3P0连接来提高性能和可伸缩性,减少数据库连接的开销。 MySQL是一个流行的关系型数据库,可以用于存储和管理新闻数据。我们可以创建一个MySQL数据库,并设计相应的表来保存新闻标题、内容、作者、发布时间等信息。 在实现简单的新闻系统时,可以使用JSP来创建前端页面,利用Servlet进行后端业务逻辑处理。通过C3P0连接,我们可以在Servlet中创建数据库连接,并使用Java代码操作MySQL数据库,例如查询、插入、更新和删除新闻数据。 整个过程可以按照如下步骤进行:用户发送请求到ServletServlet数据库中获取新闻数据,再将数据传递给JSP页面进行渲染,然后将渲染后的页面发送给用户。用户可以通过提交表单或者其他方式触发Servlet中的相应操作,从而实现新闻系统的各种功能,例如发表新闻、删除新闻等操作。 通过结合JSPServlet、C3P0连接MySQL数据库,我们可以轻松地搭建一个简单的新闻系统,实现新闻的发布、浏览等基本功能。当然,想要实现更复杂的新闻系统,还需要考虑用户认证、权限管理、搜索功能等方面的设计和实现。 ### 回答2: 简单新闻系统使用JSPServlet、c3p0和MySQL实现JSP是Java Server Pages的缩写,是一种动态网页开发技术,能够与Java Servlet一起生成HTML、XML或其他文档。Servlet是运行在服务器端的Java小程序,能够接收和响应客户端的请求。c3p0是Java数据库连接库,提供高性能、高可靠性的数据库连接管理。MySQL是一个开源的关系型数据库管理系统。 我们可以通过使用JSPServlet实现简单新闻系统的前端和后端功能。前端页面使用JSP编写,用于展示新闻列表、新闻详情等信息。后端使用Servlet来接收前端的请求,并根据请求的不同执行相应的逻辑操作。 在实现新闻系统时,我们可以使用c3p0作为连接来管理与数据库连接。通过配置连接的参数,如最大连接数、最小连接数、连接超时时间等,可以有效地管理数据库连接。使用c3p0能够提高数据库操作性能和可靠性,避免频繁地进行数据库连接的创建和关闭。 与数据库的交互使用MySQL实现。可以使用MySQL提供的接口或者使用JDBC驱动来连接数据库,并执行相关的查询和更新操作。通过JSPServlet数据库进行数据的交互,可以实现新闻的增删改查、新闻分类和搜索等功能。 总之,通过使用JSPServlet、c3p0和MySQL,我们可以实现一个简单的新闻系统。JSP负责前端页面的展示,Servlet负责后端逻辑的处理,c3p0负责管理数据库连接MySQL负责存储和查询新闻数据。这些技术的结合可以实现一个高效、可靠的新闻系统。 ### 回答3: JSPServlet是Java EE中用于开发Web应用程序的重要技术。C3P0是一个流行的连接库,用于管理数据库连接MySQL是一个广泛使用的关系型数据库。 基于JSPServlet,结合C3P0连接MySQL数据库,我们可以构建一个简单的新闻系统。以下是实现的步骤: 1. 创建数据库表格:在MySQL数据库中创建一个用于存储新闻的表格,包含标题、内容、作者和发布日期等字段。 2. 配置C3P0连接:在项目中引入C3P0库,并在web.xml或其他配置文件中配置C3P0的连接信息,如数据库URL、用户名和密码。应该设置合适的参数来管理数据库连接的数量和复用。 3. 创建新闻管理类:编写一个Java类来处理新闻的增、删、改和查操作,该类应该使用C3P0连接来获取数据库连接并执行SQL语句。可以使用PreparedStatement来防止SQL注入攻击,并通过ResultSet获取执行结果。 4. 创建JSP页面:使用JSP技术编写展示新闻列表、查看新闻详情和发布新闻等页面。可以通过调用新闻管理类的方法来获取新闻数据,并在页面中展示。 5. 配置Servlet:在web.xml或其他配置文件中配置Servlet的映射关系,将请求路径与对应的Servlet类绑定。例如,为展示新闻列表和查看新闻详情分别配置不同的Servlet。 6. 在Servlet中处理请求:编写Servlet类,根据请求参数调用新闻管理类的相应方法,并将处理结果传递给对应的JSP页面进行展示。可以通过request对象获取参数值,通过response对象返回处理结果。 通过以上步骤,我们可以实现一个简单的新闻系统。用户可以通过浏览器向服务器发送请求,服务器接受请求后,使用JSPServlet技术调用C3P0连接数据库中获取新闻数据,并将结果返回给用户进行展示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值