在tomcat下配置mysql的数据库连接池及Servlet

这几天在tomcat下配置mysql的数据库连接池,再使用servlet进行数据访问。碰到不少问题,百度查了不少资料,不是很完整,试了很久,总算调通了。记录下来,供大家参考。

TomcatMySQL的安装就不追溯,很简单。

一、配置数据库连接池

这块网上很多材料有误导,搞一大堆参数。实际上,在Tomcat的首页上就有相关配置的说明:

 https://img-blog.csdn.net/20131026230453281?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZnVzaHVu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

1、进入Tomcat首页,如上图。

2、找到JDBC DataSources,点击进入。

打开tomcat\conf\Context.xml,将这句话拷贝进去,修改成你自己的MySQL的配置即可:

<Resource name="jdbc/你的数据库别名" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="MySQL用户名" password="MySQL用户密码" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test"/>

标黄的是要按照你的mysql的配置进行修改,其他不用动。

MySQL的资料上有另外一种写法,但创建JNDI时,DataSource总是空的,误人不浅:Chapter 11. Using Connector/J with Tomcat。

3、打开tomcat\conf\web.xml,将以下信息加入,放在</web-app>之前即可。

<resource-ref>

        <description>DB Connection</description>

        <res-ref-name>jdbc/你的数据库别名</res-ref-name>

        <res-type>javax.sql.DataSource</res-type>

        <res-auth>Container</res-auth>

</resource-ref>

4、很重要的一步,就是要将MySQLJDBC引擎拷贝到tomcat\lib下。

二、配置Servlet

Servlet的配置有时不小心,也容易造成出错。

1、打开tomcat\conf\web.xml,参考其他Servlet的写法,将以下信息加入。

    <servlet-mapping>

        <servlet-name>DataServiceServlet</servlet-name>

        <url-pattern>/DataServiceServlet</url-pattern>

</servlet-mapping>

    <servlet>

        <servlet-name>DataServiceServlet</servlet-name>

        <servlet-class>com.xxx.DataServiceServlet</servlet-class>

</servlet>

值得注意的是,以上的servlet-class就是你创建的Servlet,要包含路径。

不写servlet-mapping,就会老找不到servlet类:The requested resource is not available.。机关重重。

 

三、在Servlet中使用数据库连接池

有了以上两步,数据库连接池的使用就很简单了。

import javax.servlet.http.*;

import javax.servlet.*;

import java.io.*;

import java.sql.*;

import javax.sql.*;

import javax.naming.*;

。。。。。。

InitialContext ctx = null;

DataSource ds = null;

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

String sql = "SELECT t1,t2 FROM test where t1=?";

try {

ctx = new InitialContext();

ds = (DataSource) ctx.lookup("java:comp/env/jdbc/你的数据库别名");

conn = ds.getConnection();

ps = conn.prepareStatement(sql);

} catch (SQLException se) {

System.out.println("SQLException: " + se.getMessage());

} catch (NamingException ne) {

System.out.println("NamingException: " + ne.getMessage());

}

这里有点变态的是lookup中的java:comp/env/jdbc/千万别少了,否则就无法定位到数据库配置,很是郁闷

四、访问Servlet

在你的HTML中,随便写个formaction中的内容就是你的servlet

<form action="DataServiceServlet" method="POST">

      <input type="text" name="t1"/>

      <input type="submit" value="Submit" />

</form>

 

OK,大功告成,恭喜你成为一个伟大的程序员。


注:本人使用的是MySQL 5.6.14,Tomcat 7.0.42,Eclipse Version: Kepler Service Release 1

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于 MySQL+Tomcat+Servlet+JSP 的简单作业管理系统源码+数据库+项目说明.zip # HomeworkManagement ## 简介 一个基于 MySQL+Tomcat+Servlet+JSP 的简单作业管理系统 --- ## 更新 ### Ver 5.0 - 所有模块合并至 **web-mvc**,其他模块留作存档 - 拆分 controller 和 service - 使用 lombok 重构 model - 使用 MyBatis 进行数据库连接 ### Ver 4.0 - 实现数据库操作的事务管理 - 添加 AOP 依赖 - 使用 AOP 为所有访问添加日志打印 ### Ver 3.0 - 使用 Spring IoC 管理对象 - 添加 database-mvc module,派生自 database module - web-mvc-context.xml 中添加 component-scan - jdbc 包均使用 @Component 注册为 Bean - 使用 @Autowired 装配对象 - 重构 controller 包,使用 @Autowired 装配对象 - 更新依赖 - web-mvc 对应 database-mvc - web 对应 database - 添加数据库 SQL 转储文件 ### Ver. 2.0 - 添加 web-mvc module - 新 module 使用 spring-webmvc 重构 web module ### Ver. 1.0 在源项目的基础上更新如下: - Maven 项目,用于构建和管理依赖 - Project/Module 模式,一共有三个 Module : - core 用于存放核心代码与工具 - database 用于存放数据库有关代码 - web 用于存放 servlet 和 jsp 有关代码 - 数据库连接部分采用了 Hikari 连接 ---

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值