在tomcat下配置mysql的数据库连接池及Servlet
这几天在tomcat下配置mysql的数据库连接池,再使用servlet进行数据访问。碰到不少问题,百度查了不少资料,不是很完整,试了很久,总算调通了。记录下来,供大家参考。
Tomcat和MySQL的安装就不追溯,很简单。
一、配置数据库连接池
这块网上很多材料有误导,搞一大堆参数。实际上,在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、很重要的一步,就是要将MySQL的JDBC引擎拷贝到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中,随便写个form,action中的内容就是你的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
在tomcat下配置mysql的数据库连接池及Servlet相关推荐
- maven找到mysql 连接池_在Tomcat6.0+MySQL5.0环境下配置和使用数据库连接池
一,在Tomcat中配置连接池的JNDI 首先到MySQL的网站上下载MySQL JDBC连接器放到%CATALINA_HOME%/lib目录下,在%CATALINA_HOME%/conf目录下找到c ...
- Tomcat中配置MySQL数据库连接池
Web开发中与数据库的连接是必不可少的,而数据库连接池技术很好的优化了动态页与数据库的连接,相比单个连接数据库连接池节省了很大的资源.用一个通俗的比喻:如果一个人洗澡需花一桶水,那一百个人就要花一百桶 ...
- Java+MyEclipse+Tomcat (三)配置MySQL及查询数据显示在JSP网页中
前面两篇文章讲述了如何配置MyEclipse和Tomcat开发JSP网站.如何配置Servlet简单实现表单提交,这篇文章主要讲述配置MySQL实现数据库连接MyEclipse,最后将查询表中的数据显 ...
- Window环境下配置MySQL 5.6的主从复制、备份恢复
Window环境下配置MySQL 5.6的主从复制.备份恢复 1.环境准备 Windows 7 64位 MySQL 5.6 主库:192.168.103.207 从库:192.168.103.208 ...
- LINUX 下 配置MySQL数据库集群
LINUX 下 配置MySQL数据库集群 MySQL数据库集群进行正确配置步骤(1) 此文章主要向大家讲述的是对MySQL数据库集群进行正确配置的实际操作步骤,以及对其概念的讲述,如果你对其相关的实际 ...
- linux下配置mysql默认编码utf8
linux下配置mysql默认编码utf8 下面是需要在对应地方加入的配置 [client] default-character-set=utf8[mysqld] character-set-serv ...
- window mysql 同步复制_Window环境下配置MySQL 5.6的主从复制、备份恢复
Window环境下配置MySQL 5.6的主从复制.备份恢复 1.环境准备 Windows 7 64位 MySQL 5.6 主库:192.168.103.207 从库:192.168.103.208 ...
- mysql服务器默认使用用户_在Windows下配置MySql服务器默认使用的用户是
在Windows下配置MySql服务器默认使用的用户是 答:root 制单的基本要求是 答:完整 及时 简明 正确 为了妥善解决各类旅游企业受损严重,普遍面临的现金流不足.应收账款风险.大量游客投诉和 ...
- Linux下配置mysql密码
Linux下配置mysql密码 Linux下配置mysql密码有两种情况: 一.首次登录mysql未设置密码或忘记密码解决方法: 二.已经配置密码对原有密码进行更改. 一.首次登录mysql未设置密码 ...
最新文章
- Kaggle新赛 | HuBMAP: 识别人体肾脏组织图像中的肾小球~总奖金 6 万美金
- LNMP架构的简单应用--部署论坛
- 婆媳关系不好首先就有一个斤斤计较的婆婆
- java cookie共享_cookie共享
- 处理大数据需要哪些技术
- 机器学习第二回总结——多变量线性回归
- 如何快速的复习学习过的Python
- 《精通Linux设备驱动程序开发》——1.6 查看源代码
- FastDFS的安装讲解
- c#窗体程序 内嵌浏览器
- verilog代码编写工具
- matlab基于凹点匹配的分割算法,一种基于凹点匹配的重叠图像分割算法
- 2020哔哩哔哩校招后端开发笔试编程题总结
- 改进埃尔米特(Hermite)分段三次插值——(可在pchip函数中自定义导数值)
- Microsoft Defender SmartScreen 阻止了无法识别的应用启动,Windows已阻止此软件和无法验证发布者两个问题的解决方法(以腾讯云服务器为例的三种保姆级图文解决方法)
- 输入底面半径和高,求圆柱体的表面积
- 广联达2020秋招测开面试(一面)
- 硬件相关优化代码host_kernel_mod的个人理解
- datatable invalid json format
- 正大国际期货:期货投资你的感悟是什么?
热门文章
- google推出了新闻搜索服务!
- python——设计Bird、fish类
- ORA-39126: Worker unexpected fatal error in KUPW$WORKER.FIXUP_MASTER_TABLE_EXPORT
- 计算机考研复试面试常问问题 操作系统篇
- Adobe Encore DVD彩蛋制作大全
- 谷歌广告联盟Adsense收不到Pin验证码怎么办?
- Docx4j生成word文件转PDF乱码问题
- 骁龙相机动态设置选项卡
- 默认java_默认java格式
- PMP项目管理认证第一节(备考阶段准备)