我用jsp连结sqlserver2000遇到的问题,请大家帮忙解决
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:498)
at org.apache.jsp.testsql_jsp._jspService(testsql_jsp.java:77)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
root cause java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1407)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1252)
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:149)
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:83)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at org.apache.jsp.testsql_jsp._jspService(testsql_jsp.java:47)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)--------------------------------------------------------------------------------Apache Tomcat/4.1.31

解决方案 »

  1.   

    这是代码,我用sqlserver建了一个login数据库,新建了一个表T_USER,用户名sa,密码无,下面是程序代码,请大家帮忙看看
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
    String url="jdbc:microsoft: sqlserver://localhost:1433;DatabaseName=login"; 
    //pubs为你的数据库的 
    String user="sa"; 
    String password=""; 
    Connection conn= DriverManager.getConnection(url,user,password); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from T_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>
      

  2.   

    给你一个连库BEAN。package servlets;import java.sql.Connection;
    import java.sql.Statement;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    public class ConnSql 
    {
      public  Connection connection = null;  //获得数据库连接
      private Statement stmt = null; //创建语句
      ResultSet rs = null;
      boolean isConnection = true;
      String strDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
      String strUrl = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=studyDB";
      String strUserName = "sa";
      String strUserPassWord = "sa";  
      //构造函数
      public ConnSql() 
      {
      }
      /**
      * 功能:
      *     连接数据库
      * @return boolean
      */
      public boolean setConnectDataBase() throws Exception 
      {
    try 
    {
      Class.forName(strDriver).newInstance();
      connection = DriverManager.getConnection(strUrl,strUserName,strUserPassWord);
      stmt = connection.createStatement();
    }
    catch (Exception e) 
    {
      isConnection = false;
      System.out.println("数据库连接出现如下异常:" + e.getMessage());
    }
    return isConnection;
      }
      
      /**
      * 功能:
      *     设置是否自动提交 arg = true 自动提交, arg = false 不自动提交 
      * @return boolean
      */
      public boolean setAutoCommit(boolean arg)
    {
      try 
      {
    connection.setAutoCommit(arg);
      }
      catch (Exception e) 
      {
       System.out.println("设置是否自动提交出现如下异常:" + e.getMessage());
      }
      return isConnection;
    }  /**
       * 功能:
       *     添加
       * @param strSql sql语句
       * int intRow = 1; 正常 intRow = 0; 出错
       * @return int
       */
      public int executeInsert(String strSql) 
      {
    int intRow = 1; //正常
    try 
    {
      intRow = stmt.executeUpdate(strSql);
    }
    catch (SQLException eExcutQuery) 
    {
      intRow = 0; //出错
      System.out.println("执行添加操作出现如下异常:" + eExcutQuery.getMessage());
    }
    return intRow;
      }  /**
       * 功能:
       *     查询
       * @param strSql sql语句
       * @return ResultSet
       */
      public ResultSet executeQuery(String strSql) 
      {
    try 
    {
      rs = stmt.executeQuery(strSql);
    }
    catch (SQLException eExcutQuery) 
    {
      rs = null;
      System.out.println("执行查询操作出现如下异常:" + eExcutQuery.getMessage());
    }
    return rs;
      }  /**
       * 功能:
       *     更新
       * @param strSql sql语句
       * int intRow = 1; 正常 intRow = 0; 出错
       * @return int
       */
      public int executeUpdate(String strSql) 
      {
    int intRow = 1; //正常
    try 
    {
      intRow = stmt.executeUpdate(strSql);
    }
    catch (SQLException eExecteUpdate) 
    {
      System.out.println("执行更新操作出现如下异常:" + eExecteUpdate.getMessage());
      intRow = 0; //出错
    }
    return intRow;
      }  /**
       * 功能:
       *     删除
       * @param strSql sql语句
       * int intRow = 1; 正常 intRow = 0; 出错
       * @return int
       */
      public int executeDelete(String strSql) 
      {
     int intRow = 1; //正常
     try 
     {
       intRow = stmt.executeUpdate(strSql);
     }
     catch (SQLException eExecteUpdate) 
     {
       System.out.println("执行删除操作出现如下异常:" + eExecteUpdate.getMessage());
       intRow = 0; //出错
     }
     return intRow;
       }   /**
     * 功能:
     *     关闭所有连接
     */
       public void closeAll()
       {
        try
        {
    if(rs != null)
     {
    rs.close();
    rs = null;
     }  if(stmt!=null)
     {
       stmt.close();
       stmt = null;
     }  if(connection!=null)
     {
       connection.close();
     }
        }
        catch(Exception e)
        {
        System.out.println("关闭数据出现如下异常:" + e.getMessage());
        }
        } /**
       * 功能:
       *     提交数据
       */
     public void commit()
     {
      try
      {
    connection.commit();
      }
      catch(Exception e)
      {
      System.out.println("提交数据出现如下异常:" + e.getMessage());
      }
     } /**
       * 功能:
       *     回滚数据
       */
     public void rollback()
     {
    try
    {
    connection.rollback();
    }
    catch(Exception e)
    {
    System.out.println("回滚数据出现如下异常:" + e.getMessage());
    }
     }   }
      

  3.   

    tomcat有问题还是jdbc有问题呀。我看了tomcat连接池的文章,要设server.xml,我没有设定。是不是一定要设定,晕啦