当我用tomcat的图形化界面配置完jndi后,写了如下java代码与jsp代码进行测试
package a;
import java.sql.*;
import java.util.*;
import javax.naming.*;
import javax.sql.*;
public class B
{
private int a=1;
Connection con;
public int getA() throws Exception
{
try
{
Context ic=new InitialContext();
DataSource ds=(DataSource)ic.lookup("java:comp/env/jdbc/BookDB");
}
catch(Exception e)
{
a=0;
}
return a;
}
}
<HTML>
<BODY>
<jsp:useBean id="aa" class="a.B"/>
${aa.a}
</BODY>
</HTML>
上面的代码jsp显示为1,说明我的jndi配置成功,但当我加上如下一行时
Connection con=ds.getConnection();
(在DataSource ds=(DataSource)ic.lookup("java:comp/env/jdbc/BookDB");下
)
jsp显示为0,为什末我无法连接数据库呢?
另外,我已经注意打开sqlserver服务器了,三个jar包也已经放到common/lib下了
------解决方法--------------------------------------------------------
1 用户名或密码不正确
2 连接数据库的url是否正确
------解决方法--------------------------------------------------------
程序没错应该是配置问题
数据源配好了吗,驱动包是否正确,用户名密码是否需要
java:comp/env/jdbc/BookDB
------解决方法--------------------------------------------------------
看看你的server.xml把,看看里面什么东西配错了
<Resource name="jdbc/BookDB" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/BookDB">
<parameter>
<name>username</name>
<!-- Database User Name -->
<value>username</value>
</parameter>
<parameter>
<name>password</name>
<!-- User Password -->
<value>password</value>
</parameter>
<parameter>
<name>driverClassName</name>
<!-- Database Driver Class Name -->
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<!-- Database Address -->
<value>jdbc:oracle:thin:@ip:1521:ServiceName</value>
</parameter>
</ResourceParams>
------解决方法--------------------------------------------------------
你配置了server.xml了吗?