JNDI就像一个接口样,用起来很方便,
首先你需要在你D:\java\apache-tomcat-7.0.42\conf\Catalina\localhost中配置你要用的项目,此文件必须为你的项目名字
比如我的是day20配置如下;
前三句是规定的不容改变的,当然导入包是不可缺少的,配置之后,再启动tomcat,没有问题,就行了,切记编码格式一定要UTF-8
<Context>
<!--
你好啊-->
<Resource name="jdbc/dataSource"
factory="org.apache.naming.factory.BeanFactory"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
jdbcUrl="jdbc:mysql://localhost:3306/student"
driverClass="com.mysql.jdbc.Driver"
user="root"
password="123"
acquireIncrement="5"
initialPoolSize="10"
/>
</Context>
之后在day20中创建Aservlet,代码如下,之后访问以下就行了。
package yuan;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
public class Aservlet extends HttpServlet {
/**
* 获取jJNDI对象
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
Context cx=new InitialContext();
Context ccx=(Context)cx.lookup("java:comp/env");
DataSource ds=(DataSource) ccx.lookup("jdbc/dataSource");
Connection cc=ds.getConnection();
System.out.println(cc);
cc.close();
} catch (NamingException e) {
// TODO Auto-generated catch block
throw new RuntimeException(e);
} catch (SQLException e) {
// TODO Auto-generated catch block
throw new RuntimeException(e);
}
}
}