日期:2014-05-16 浏览次数:20596 次
当我用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了吗?