topo
发贴: 40
积分: 30
|
于 2006-03-15 23:18
使用jsp直接连数据库可以成功,但是使用bean却连不上,问题会出在那里? at com.mysql.jdbc.Connection.createNewIO(Connection.java:1702) at com.mysql.jdbc.Connection.<init>(Connection.java:524) at com.mysql.jdbc.Driver.connect(Driver.java:359) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at jdebertshaeuser.beans.webproject.MySQL_Verbindung.start(Unknown Source) at jdebertshaeuser.beans.webproject.MySQL_Verbindung.<init>(Unknown Source) at jdebertshaeuser.beans.webproject.ApplicationBean.loadUsers(Unknown Source) at jdebertshaeuser.beans.webproject.ApplicationBean.checkUser(Unknown Source) at org.apache.jsp.admin.check_jsp._jspService(check_jsp.java:85) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Unknown Source) Fehler: java.sql.SQLException: Server connection failure during transaction. Attemtped reconnect 3 times. Giving up.
--------------------------------- jsp测试页面: <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <html> <body> <%Class.forName("org.gjt.mm.mysql.Driver").newInstance(); String url ="jdbc:mysql://localhost/seminar?user=topo&password=topotopo&useUnicode=true&characterEncoding=8859_1" ; //first为你的数据库名 Connection conn= DriverManager.getConnection(url); Statement stmt=conn.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from user"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()) {%> 您的第一个字段内容为:<%=rs.getString(1)%> 您的第二个字段内容为:<%=rs.getString(2)%> <%}%> <%out.print("数据库操作成功,恭喜你");%> <%rs.close(); stmt.close(); conn.close(); %> </body> </html> --------------- 结果成功的,但是bean不行
package jdebertshaeuser.beans.webproject;
import java.io.PrintStream; import java.sql.Connection; import java.sql.DriverManager; import javax.naming.InitialContext; import javax.naming.NamingException;
public class MySQL_Verbindung {
public MySQL_Verbindung() { try { System.setProperty("file.encoding", "ISO8859-1"); InitialContext initialcontext = new InitialContext(); String s = (String)initialcontext.lookup("java:/comp/env/db_host"); String s1 = (String)initialcontext.lookup("java:/comp/env/db_port"); String s2 = (String)initialcontext.lookup("java:/comp/env/db_database"); String s3 = (String)initialcontext.lookup("java:/comp/env/db_user"); String s4 = (String)initialcontext.lookup("java:/comp/env/db_password"); start("org.gjt.mm.mysql.Driver", "jdbc:mysql://" + s + ":" + s1 + "/" + s2 + "?autoReconnect=true", s3, s4); } catch(NamingException namingexception) { namingexception.printStackTrace(); } }
public void start(String s, String s1, String s2, String s3) { try { Class.forName ( s ).newInstance(); String url ="jdbc:mysql://localhost/seminar?user=topo&password=topotopo&useUnicode=true&characterEncoding=8859_1" ; verbindung = DriverManager.getConnection(url); //verbindung = DriverManager.getConnection(s1,s2,s3);这是原语句,连不到,问题就在这句
} catch(Exception exception) { exception.printStackTrace(); System.err.println(" Fehler: " + exception); } }
public Connection verbindung; }
|