JNDI:java命名与目录接口
pageContext<request<session<application(一个项目运行期间都有效)
abc 对象(资源....)
jndi:将某一个资源(对象),以配置文件(tomcat/conf/context.xml)的形式写入;
实现步骤:
tomcat/conf/context.xml配置:
<Environment name="jndiName" value="jndiValue" type="java.lang.String"/>
jsp中引用:
<%
Context ctx=new InitialContext();
String testJndi=(String) ctx.lookup("java:comp/env/jndiName");
out.print(testJndi);
%>
连接池
常见连接池:Tomcat-dbcp、dbcp、c3p0、druid
可以用数据源(java.sql.DataSource)管理连接池
Tomcat-dbcp:
a.类似jndi,在context.xml中配置
<Resource
name="student"
auth="Container"
type="javax.sql.DataSource"
maxActive="400"
maxIdle="20"
maxWait="5000"
username="scott"
password="tiger"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:mldn"
/>
b.在项目的web.xml中
<resource-ref>
<res-ref-name>student</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
c.使用数据源
更改连接对象Connection的获取方法
传统JDBC方式
connnection=DriverManager.getConnection(URL,USERNAME,PASSWORD);
数据源
Context ctx=new InitialContext();//context.xml
DataSource ds=(DataSource)ctx.lookup("java:comp/env/student");
connnection=ds.getConnection();
总结:
1.配置数据源(context.xml) 2.指定数据源(web.xml) 3.用数据库:通过数据库获取Connection