jsp代码ctx = new InitialContext(); //得到初始化上下文
Object obj = ctx.lookup("java:comp/env/jdbc/sfgiuggese");//查找连接池
DataSource ds = (DataSource) obj;//转换成DataSource
System.out.println("ds="+ds);
conn = ds.getConnection();//从连接池中得到一个连接
ps = conn.prepareStatement(sql.toString());//这是你的数据库的表噢!
rs = ps.executeQuery();//其中ds是能打印出来的,证明找到jndiresin.conf代码<database>
    <jndi-name>jdbc/sfgiuggese</jndi-name>
    <driver type="com.mysql.jdbc.Driver">
    <url>jdbc:mysql://localhost:3306/renwang</url>
    <user>yellow</user>
    <password>river</password>
    </driver>
    <prepared-statement-cache-size>8</prepared-statement-cache-size>
    <max-connections>20</max-connections>
    <max-idle-time>30s</max-idle-time>
</database>出错代码
第一次运行
500 Servlet Exception
java.lang.NoClassDefFoundError: org/jboss/util/id/SerialVersion
at javax.resource.ResourceException.<clinit>(ResourceException.java:28)
at com.caucho.jca.ConnectionPool.allocate(ConnectionPool.java:625)
at com.caucho.jca.ConnectionPool.allocateConnection(ConnectionPool.java:505)
at com.caucho.sql.DataSourceImpl.getConnection(DataSourceImpl.java:65)
at com.caucho.sql.DBPool.getConnection(DBPool.java:624)
at _jsp._ddd__jsp._jspService(ddd.jsp:19)
at com.caucho.jsp.JavaPage.service(JavaPage.java:60)
at com.caucho.jsp.Page.pageservice(Page.java:570)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:179)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:173)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:274)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:511)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:516)
at com.caucho.util.ThreadPool.run(ThreadPool.java:442)
at java.lang.Thread.run(Thread.java:595)
如果再刷新一次的话,出错代码会变这样
500 Servlet Exception
java.lang.NoClassDefFoundError
at com.caucho.jca.ConnectionPool.allocate(ConnectionPool.java:625)
at com.caucho.jca.ConnectionPool.allocateConnection(ConnectionPool.java:505)
at com.caucho.sql.DataSourceImpl.getConnection(DataSourceImpl.java:65)
at com.caucho.sql.DBPool.getConnection(DBPool.java:624)
at _jsp._ddd__jsp._jspService(ddd.jsp:20)
at com.caucho.jsp.JavaPage.service(JavaPage.java:60)
at com.caucho.jsp.Page.pageservice(Page.java:570)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:179)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:173)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:274)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:511)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:516)
at com.caucho.util.ThreadPool.run(ThreadPool.java:442)
at java.lang.Thread.run(Thread.java:595)
//另因为本机也装了jboss,但是jboss用的jndi和resin的名字是不一样的
jboss用的是mySQL
resin用的是jdbc/sfgiuggese还有什么地方要设,听说resin3.0后还要设web.xml不知道是不是
请问有什么地方不对吗?

解决方案 »

  1.   

    conn = ds.getConnection();//从连接池中得到一个连接运行到这里就报错了
      

  2.   

    mysql的lib包
    mysql-connector-java-3.1.13-bin.jar
    我也放到resin/lib里面了
      

  3.   

    System.out.println("ds="+ds);dataSource打印出来是这样的,证明找到了ds=DBPool[jdbc/sfgiuggese]
      

  4.   

    Context env = (Context) new InitialContext().lookup("java:comp/env");DataSource datapool = (DataSource) env.lookup(jdbc/sfgiuggese);if (datapool == null)
    throw new ServletException("is an unknown DataSource");Connection conn = datapool.getConnection()Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);String SqlStr = "查询语句"
    ResultSet rs = stmt.executeQuery(SqlStr);
      

  5.   

    楼上的,DataSource datapool = (DataSource) env.lookup(jdbc/sfgiuggese);
    漏了双引号.运行不了的
      

  6.   

    楼上的,你写的跟我写的有什么区别呢
    你的:
    Context env = (Context) new InitialContext().lookup("java:comp/env");DataSource datapool = (DataSource) env.lookup(jdbc/sfgiuggese);我的:
    Object obj = ctx.lookup("java:comp/env/jdbc/sfgiuggese");//查找连接池
    DataSource ds = (DataSource) obj;//转换成DataSource