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不知道是不是
请问有什么地方不对吗?
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不知道是不是
请问有什么地方不对吗?
mysql-connector-java-3.1.13-bin.jar
我也放到resin/lib里面了
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);
漏了双引号.运行不了的
你的:
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