本指南将说明如何在自己安装的tomcat中配置好数据库连接池。并且本指南的配置方法不会手工改动任何.xml文件,毕竟那不是规范的方法,本人极力得不推荐。
首先安装tomcat,相信您的tomcat的版本不会低的还不支持数据库连接池。
安装tomcat的时候有很多人忽略了帐号密码的填写,就算写了也不知道在哪里用。其实这是用来登陆tomcat后台管理的帐号密码。可能很多人郁闷tomcat怎么没有友好的界面来设置呢,等下就告诉你在哪里。
装好tomcat后,启动tomcat。在地址栏输入:http://localhost:8080/ 回车,应该可以看到tomcat的欢迎界面了。本指南不是针对tomcat,其他详情请自己找吧。现在在地址栏输入:http://localhost:8080/admin 回车,应该可以看到他的登录界面了。如果你恰好有一个工程名叫做admin,那么,先把它删掉吧,最好连tomcat根目录中的work文件加一起删掉就应该可以了,实在不行就重新安装。
填上你刚才的帐号密码,登陆。别说你不是刚装的,早就忘了帐号密码了。最简单的方法,重新安装。如果你原来手工蹂躏过tomcat,那么一定舍不得重装,还有个办法,找到tomcat根目录/conf/tomcat-users.xml。打开,有一行看上去是这样的<user username="funcreal" password="123456" roles="admin,manager"/>,你应该知道怎么回事了吧,funcreal就是帐号,123456就是密码。请不要抄袭我的帐号密码,否则会被人笑话的!登陆进tomcat的后台,按顺序点开TomcatService->Service->Host->你希望配置连接池的工程->Resources->Data Sources。好了,没意外的话,你应该在右侧看到了配置连接池的友好的界面。从下拉列表中选择:Create New Data Source。打开一个新的数据库连接池配置页。JNDI NAME:jdbc/mssql(mssql是自己起的,至于前面为什么是“jdbc/“这个样子得还没研究透彻),Data Source URL就是连接字符串,JDBC DRIVER CLASS就是驱动,帐号密码是自己的数据库的帐号密码,其余的都默认就行了。最后一项可以不填。最后,save->commit changes。一切就是这么简单。而且,你按照手边的其他资料看一下,我们的那个server.xml文件很干净,并没有资料上说得修改什么烂七八糟的东西!下面开始测试,测试文件内容如下:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<html>
<head>
</head>
<body>
<%
out.print("hellou");
DataSource ds = null;
try{
InitialContext ctx=new InitialContext();
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mssql");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
String strSql = "select * from orders";//自行修改这一条语句。
ResultSet rs = stmt.executeQuery(strSql);
while(rs.next()){
out.print(rs.getString(1));
out.print(rs.getString(3));
}
}catch(Exception ex){
ex.printStackTrace();
}
%>
</body>
</html>
?? out.print("hello u");
?? DataSource ds = null;
?? try{
?????? InitialContext ctx=new InitialContext();
?? ????ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mssql");
?????? Connection conn = ds.getConnection();
?????? Statement stmt = conn.createStatement();
?????? String strSql = "select * from orders";//自行修改这一条语句。
?????? ResultSet rs = stmt.executeQuery(strSql);
?
?????? while(rs.next()){
?????????? out.print(rs.getString(1));
?????????? out.print(rs.getString(3));
?????? }
?????? rs.close();
?? }catch(Exception ex){
??? ex.printStackTrace();
?? }
%
看到结果了吧。恭喜你!如果没看到,不要慌,冷静得找找问题所在,或者给我留言。