JNDI(Java Naming and Directory Interface),Java命名和目录接口。JNDI的作用是:在服务器上配置资源,然后通过统一的方式来获取配置的资源。如果配置的资源是连接池,这样项目中就可以通过统一的方式来获取连接池对象了。
在Eclipse,只需在tomcat目录下\apache-tomcat-7.0.42\conf\Catalina\localhost中添加xml配置文件即可,但对于IDEA,该方法无效,因为IDEA并不把项目存到tomcat目录中,而是新建了目录。
配置步骤如下:
1. 在project structure中找到facets 配置项,这个配置项非常重要,里面可配置tomcat加载的web.xml和context.xml文件所在的路径,部署的时候IDEA会自动读取。
2. 点击add application server specific descriptor,选择tomcat context descriptor和默认配置文件路径,保存即可。
3. 在web面板里打开META-INF/context.xml文件(这个文件在第2步配置后,会自动创建。),直接把数据源的配置参数填入即可。
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/">
<Resource name="jdbc/dataSource"
factory="org.apache.naming.factory.BeanFactory"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
jdbcUrl="jdbc:mysql://localhost:3306/exam?useUnicode=true&characterEncoding=utf8&useSSL=false"
driverClass="com.mysql.jdbc.Driver"
user="root"
password="916521"
acquireIncrement="5"
initialPoolSize="10"
/>
</Context>
- 在项目的web.xml文件上,配置引用关系。
<resource-ref>
<res-ref-name>jdbc/dataSource</res-ref-name>
<res-type>com.mchange.v2.c3p0.ComboPooledDataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
注意:
1.mysql-connerctor-java 的jar包版本要与Mysql对应,否则会报错
2.项目中导入的jar包必须放在lib目录下,否则即使添加到library中也无法使用