出现这个问题,我找不到是哪里错了,请大家帮我看看,谢谢。type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: 获取数据库连接错误
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.index_jsp._jspService(index_jsp.java:676)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.sql.SQLException: 获取数据库连接错误
com.susssoft.xygl.dao.NewstypeDao.getAllData(NewstypeDao.java:31)
org.apache.jsp.index_jsp._jspService(index_jsp.java:90)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【popend】截止到2008-07-11 08:59:49的历史汇总数据(不包括此帖):
    发帖的总数量:1                        发帖的总分数:30                       每贴平均分数:30                       
    回帖的总数量:1                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:1                        结贴的总分数:30                       
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   

    检查你的lib包是否有数据库驱动,看看是不防火墙屏蔽了你的连接
      

  3.   

    这是一段spring链接数据库的<bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName">
    <value>net.sourceforge.jtds.jdbc.Driver</value>
    </property>
    <property name="url"><!-- value 不能有空格 -->
    <value>jdbc:jtds:sqlserver://server:1433;DatabaseName=wmxq</value>
    </property>
    <property name="username">
    <value>sa</value>
    </property>
    <property name="password">
    <value>123456</value>
    </property> </bean>
      

  4.   

    用jdbc对于什么都是一样的,上网搜搜,就会有结果,<data-sources> 
       <data-source key="dataSource" type="org.apache.commons.dbcp.BasicDataSource"> 
                <set-property property="driverClassName" value="sun.jdbc.odbc.JdbcOdbcDriver" /> 
                <set-property property="url" value="jdbc:odbc:page" /> 
                <set-property property="username" value="admin" /> 
                <set-property property="password" value="" /> 
                <set-property property="maxActive" value="20" /> 
                <set-property property="maxWait" value="5000" /> 
                <set-property property="defaultAutoCommit" value="true" /> 
                <set-property property="defaultReadOnly" value="false" /> 
                <set-property property="validationQuery" value="SELECT 1" /> 
                <set-property property="removeAbandoned" value="true" /> 
                <set-property property="removeAbandonedTimeout" value="120" />             
                <set-property property="encoding" value="false" />             
            </data-source>  </data-sources> 
    这是access的。
      

  5.   


    如果用的是MYSQL,可以参照下面的步骤:(其实别的数据库也大同小异,个人看法)
    启动TOMCAT,IE栏输入“http://127.0.0.1:8080/admin/”,输入账户与密码。
    如果,安装TOMCAT时没有改动过的话,账户应该是“admin”,密码为空。选择Resources->Data sources进入配置数据源界面,
    在右上角的下拉框里选择Create New Data Source,
    进入配置详细信息界面,内容如下:            JNDI Name:    jdbc/mysql(可用自己喜欢的名字)
                Data Source URL:  jdbc:mysql://localhost:3306/test 
                (这里是上面的test数据库名)
                JDBC Driver Class:   com.mysql.jdbc.Driver 
                User Name:    root  (你的MYSQL的用户名,默认是root)
                Password:     ******** (你的MYSQL的密码)
                Max. Active Connections:    4
                Max. Idle Connections:    2
                Max. Wait for Connection:    5000
                Validation Query:   要求输入的JNDI Name等信息,其中除了JDBC DriverClass之外,
    其他的可以根据你的需要填写。
    *注意,Data Source URL的内容可能是:
    “jdbc:mysql:// <MYSQL服务器的IP或是名称>/<你的数据库名称>”。
    最后点击Save保存,Commit Change提交更改。这样可以到下一步了。找到“%TOMCAT_HOME%\conf\”下的web.xml文件,将其编辑添加内容:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app ....>
        .
        .
        . 
        <resource-ref>
          <description>DB Connection</description>
          <res-ref-name>jdbc/mysql</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
        </resource-ref></web-app>添加的内容是 <resource-ref>到</resource-ref>。
    一看就明白<res-ref-name>jdbc/mysql</res-ref-name>里的“jdbc/mysql”要与
    TOMCAT配置数据源时的JNDI Name要一致。
      

  6.   

    接着上面的,可以用代码测试一下
    首先在数据库下建立一个表t,2个字段id,name,具体定义如下:
    id int(11) not null auto_increment,
    name varchar(50) not null, primay key(id))
    插入数据:
    123,hello<%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> <html> 
    <body> 
    <%
      try
      {
          Class.forName("com.mysql.jdbc.Driver").newInstance(); 
          String url ="jdbc:mysql://localhost/test?user=root&password=123456&useUnicode=true&characterEncoding=8859_1";
          Connection conn= DriverManager.getConnection(url); 
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
          String sql="select * from t";      ResultSet rs=stmt.executeQuery(sql); 
          while(rs.next())
          {
         
              out.println("one is:"+rs.getString(1));
              out.println("tow is:"+rs.getString(2));
          }      rs.close(); 
          stmt.close(); 
          conn.close(); 
      }
      catch(Exception e)
      {
           out.print("Exception:"+e.getMessage());
      }
    %> 
    </body> 
    </html>保存为MySQLTest.jsp放到“../test/”目录下,重启TOMCAT测试吧!
    结果应该是:
    one is:123 tow is:hello 
    这样就证明数据库连接正确!
      

  7.   

    com.susssoft.xygl.dao.NewstypeDao.getAllData(NewstypeDao.java:31) 
    数据库连接错误
    说的非常清楚了
    检查你的数据库链接代码