源代码如下,
<%@ page import ="java.io.*"%>
<%@ page import ="java.util.*"%>
<%@ page import ="java.sql.*"%><%
String dbUrl="jdbc:mysql://localhost:3306/bookstore?useUnicode=true&characterEncoding=GB2312";
String dbUser="root";
String dbPwd="6965050";
String driverName="com.mysql.jdbc.Driver"; Connection con=null;
Statement stmt=null;
ResultSet rs=null; Class.forName(driverName);

con = java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);
if(con!=null)
System.out.println("connect successfully!");

%>
错误页面
root cause javax.servlet.ServletException: com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.net.ConnectException
MESSAGE: Connection refused: connectSTACKTRACE:java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:518)
at java.net.Socket.connect(Socket.java:468)
at java.net.Socket.<init>(Socket.java:365)
at java.net.Socket.<init>(Socket.java:208)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at org.apache.jsp.test_jsp._jspService(test_jsp.java:72)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
** END NESTED EXCEPTION **Last packet sent to the server was 1 ms ago.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.test_jsp._jspService(test_jsp.java:84)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
环境变量设置:Path中配置    D:\Program Files\MySQL\MySQL Server 5.0\bin;%JAVA_HOME%\bin;%CATALINA_HOME%\bin
classpath    .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%CATALINA_HOME%\lib\servlet-api.jar;%JAVA_HOME%\lib\htmlconverter.jar;D:\mysql-connector-java-5.0.8\mysql-connector-java-5.0.8-bin.jar;java版本1.6  TOMCAT 6.0   MYSQL版本 mysql-5.0.77-win32  驱动库 mysql-connector-java-5.0.8-bin.jar
且mysql-connector-java-5.0.8-bin.jar也放到了TOMCAT的LIB文件加下
用netstat -a察看,系统开了3306端口,,,   防火墙也没有阻止 mysqld-nt.exe
 
 用mysql-gui-tools-5.0-r17-win32.msi能登上mysql 确定数据库中有 bookstore 用户名密码也没错
 用CMD命令也能登录察看mysql中bookstore数据只要不涉及数据库的其他jsp页面都能被访问   个人认为是在con = java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);出错了,但是不知道错哪里,希望高手帮忙,调了一整天了,郁闷死了,,,,,我用的系统是VISTA,这个和系统有关系?
  

解决方案 »

  1.   

    LZ,换下MYSQL的驱动程序包吧,看是否可以解决......
      

  2.   

    lz换下驱动包,我记得5.1的mysql才是用的mysql-connector-java-5.0.8-bin.jar 
    包,你最好下个比这包版本更低点的!看看问题能解决不!
      

  3.   

    换了驱动报 mysql-connector-java-3.1.14-bin.jar 但是还是拒绝连接,,,但是它明确告诉我是接连错误,,,看来要明天去问老师了,,,不过还是谢谢大家,,exception org.apache.jasper.JasperException: An exception occurred processing JSP page /test.jsp at line 1714: 
    15:  Class.forName(driverName);
    16: 
    17:  con = java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);
    18:  if(con!=null)
    19:  System.out.println("connect successfully!");
    20: 
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    root cause javax.servlet.ServletException: com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.net.SocketException
    MESSAGE: java.net.ConnectException: Connection refused: connectSTACKTRACE:java.net.SocketException: java.net.ConnectException: Connection refused: connect
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2569)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at org.apache.jsp.test_jsp._jspService(test_jsp.java:72)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
      

  4.   


    public class DB {

    public static Connection getConnection(){
    Connection conn = null;

    try {
    Class.forName("com.mysql.jdbc.Driver");
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bbs?user=root&password=密码这里");
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    return conn;
    }}特别注意这句
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bbs?user=root&password=密码这里");你的这句
    String dbUrl="jdbc:mysql://localhost:3306/bookstore?useUnicode=true&characterEncoding=GB2312"; 
    可能太复杂了 先换个简单的 弄弄 看能不能连接上  一步一步来 
      

  5.   

    jdbc:mysql://localhost:3306/bookstore?useUnicode=true&amp;characterEncoding=gbk
    如果还出错的话,去看看端口,用户名,密码是否正确
      

  6.   

    弱弱的问一句
    你mysql服务 开着没?
      

  7.   


    正解 有可能你跑应用的时候没有use database;
      

  8.   

    public class DB {
        
        public static Connection getConnection(){
            Connection conn = null;
            
            try {
                Class.forName("com.mysql.jdbc.Driver");
                conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bbs?user=root&password=密码这里");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return conn;
        }}把端口号去掉试试!!
      

  9.   

    页面没有问题 换mysql-connector-java-5.0.3-bin.jar 我这能运行成功
      

  10.   

    jdbc:mysql://127.0.0.1:3306/test?user=root&password=88888
      

  11.   

    把localhost换成127.0.0.1 ,,,我的就这样解决了,太雷人了,,,,,,
      

  12.   

    这个问题以解决了,14楼貌似正确,解决方法很雷人,,,,,差点给雷焦。。把localhost换成127.0.0.1,,,,,就连接成功了,,,,,有高手知道为什么不这个问题晚点发贴讨论吧 ,先结贴了,,,7楼的朋友我也回复你了,希望你能看到解决方法~~~~~~
      

  13.   

    localhost 127.0.0.1  看一下Hosts
      

  14.   

    遇到了同样的问题,测试用服务器重启后,没有开MySQL。
    看了十楼的回帖,立刻有种无地自容的感觉
      

  15.   

    在 windows系统里有配置文件是 把localhost定义为127.0.0.1的。估计你这个配置文件损坏了。当然你也可以在这个配置文件了 定义其他的。