tomcat配置局部数据源
局部数据源不需要修改配置文件,只要修改用户自己的web部署文件,不会造成系统混乱,而且数据源被封装在一个web应用之内,防止被其他的web应用访问,提供了更好的封装性。
局部数据源与特定的web应用相关,因此在该部署文件中配置。例如:为某web应用增加局部数据源,修改tomcat下conf/Catalina/localhost下的.xml文件即可。在.xml文件中的Context元素增加一个Resource子元素,增加局部数据源后的.xml文件内容如下:
<?xml version="1.0" encoding="GBK"?>
<!-- docBase:.jsp文件的路径 -->
<Context docBase="D:\Program Files (x86)\codes\01" privileged="true">
<!-- name制定数据源在容器中的jndi名
driverClassName制定连接数据库驱动
url制定数据库服务的url
username:数据库名
password:数据库密码
maxActive:指定数据源最大活动连接数
maxIdle:指定数据池中最大的空闲连接数
maxWait:指定数据池中最大等待获取连接的客户端 -->
<Resource name="jdbc/dstest" auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/javaee"
username="root" password="123456" maxActive="5"
maxIdle="2" maxWait="10000"/>
</Context>
然后再写一个.jsp文件内容如下:
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="java.sql.*"%>
<%@page import="javax.sql.*"%>
<%@page import="javax.naming.*"%>
<%@page session="false"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Insert title here</title>
<%
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/dstest");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from news_inf");
while(rs.next()){
out.println(rs.getString(1) + "<br/>");
}
%>
</head>
<body>
</body>
</html>
然后创建一个数据库(javaee)和表(news_inf)表中输入一些东西。
写好以后启动tomcat(startup.bat)在浏览器中输入http://localhost:8080/dd/aa.jsp即可访问。
至此,tomcat配置局部数据源的工作就完成了。