在tomcat6.0.18下手动配置jndi

服务器:tomcat6.0.18
数据库:mysql-6.0.3-alpha-win32
数据库驱动:mysql-connector-java-5.0.7-bin.jar
一.jndi简介
JNDI(Java Naming and Directory Interface)是一个应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口,类似JDBC都是构建在抽象层上。
具体详细资料,网上已经很多了,对吧?
二.手动建立一个简单的WEB工程(在webapps下建立工程test-jndi)
1.建立文件夹,名称为:test-jndi
2.在test-jndi文件夹下建立名为WEB-INF文件夹和index.html页面
index.html页面内容很简单,主要用于测试工程是否建立成功
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>测试成功</TITLE>
<META http-equiv=Content-Type content="text/html">
</HEAD>
<BODY>
<P>
<H3>成功了</H3>
<P>ok,可以了</P>
</BODY>
</HTML>

3.在WEB-INF文件夹下建立名为lib文件夹和web.xml
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
   version="2.5"> 
    <description>
      jndi test
    </description>
    <display-name>jndi test </display-name>
    <welcome-file-list>
	<welcome-file>index.html</welcome-file>		
   </welcome-file-list>
   </web-app>

启动tomcat,在地址栏输入:http://localhost:8080/test-jndi/
显示ok,成功----说明,手动建立工程成功。接下来就是配置jndi了,呵呵。
三.配置jndi.)
1.将mysql-connector-java-5.0.7-bin.jar放入tomcat下lib文件夹下
2.在tomcat下config/server.xml中<host>之间下加入
 <Context docBase="test-jndi" path="/test-jndi" reloadable="true">
   <Resource 
       name="jdbc/test"
       auth="Container"
       type="javax.sql.DataSource"
       username="root"
       password="123456"
       driverClassName="com.mysql.jdbc.Driver"
       url="jdbc:mysql://localhost:3306/exam"
       maxActive="8"
       maxIdle="4"/></Context>

jdbc/test是你的jdbc datasource名字。
3.在test-jndi工程中的WEB-INF/web.xml中加入
<resource-ref>
      <description>jndi</description>
      <res-ref-name>jdbc/test</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>

通过上面配置基本就可以了。在工程下写个测试文件test.jsp
 <%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<%@page import="javax.naming.*"%>
<%@page import="javax.sql.DataSource"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JNDI</title>
</head>
<body>
<br>
JNDI start
<br>
<%
	try
	{
		Context ctx = new InitialContext();	
		//Context envContext = (Context) ctx.lookup("java:/comp/env");
		//DataSource ds = (DataSource) envContext.lookup("jdbc/test"); //查找配置
		//方法二:
		DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/test");
		Connection conn = ds.getConnection();
		conn.close();
		out.println("JNDI success");
	} catch (NamingException e)
	{
		e.printStackTrace();
	} catch (SQLException e)
	{
		e.printStackTrace();
	}
%>
</body>
</html>

再次启动tomcat,输入:http://localhost:8080/test-jndi/test.jsp
页面出现:
JNDI start
JNDI success
ok,大功告成。

你可能感兴趣的:(java,tomcat,mysql,Web,jdbc)