java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver 把 sqljdbc.jar 放到 WEB-INF/lib 目录下面

解决方案 »

  1.   

    另附本机配置:
    windows 2008 + JDK1.6 + Tomcat5.5.23 + Eclipse3.2 + MyEclipse6.5 + MSSQL2005(标准版)+ sqljdbc1.2
    望各位前辈高人指点一二。
      

  2.   

    只要有lib文件夹的,我都放过,tomcat下面那引起lib下面也放过。放在WEB-INF/lib 目录下面会出现:could not load data.
      

  3.   

    could not load data.这个证明你的异常已经解决了
    是你的sql写错了
    }
    catch(Exception ex)
    {
        ex.printStackTrace(); // 这样写,看看输出的异常是什么
      

  4.   

    上面的修改,适用于你所有的catch,不单单是你在这个帖子里写的代码,是你所有的代码都要改!
      

  5.   

    回复java2000_net(老紫竹)前辈:
    放在WEB-INF/lib 目录下面会出现:
    description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:476)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)...............中间很多root cause java.lang.RuntimeException: could not locate data
    sun.text.normalizer.NormalizerImpl.<clinit>(NormalizerImpl.java:44)
    sun.text.normalizer.NormalizerBase.decompose(NormalizerBase.java:707)
    sun.text.normalizer.NormalizerBase$NFKDMode.normalize(NormalizerBase.java:348)
    sun.text.normalizer.NormalizerBase.normalize(NormalizerBase.java:1592)
    sun.text.normalizer.NormalizerBase.normalize(NormalizerBase.java:1573)
    java.text.Normalizer.normalize(Normalizer.java:146)
    sun.security.x509.AVA.toRFC2253CanonicalString(AVA.java:986)
    sun.security.x509.RDN.toRFC2253StringInternal(RDN.java:430)
    sun.security.x509.RDN.toRFC2253String(RDN.java:409)......
      

  6.   

    回复java2000_net:
    catch(Exception ex)
    {
        ex.printStackTrace(); // 这样写,看看输出的异常是什么

    这样写之后变成:
    org.apache.jasper.JasperException: Exception in JSP: /testjdbc.jsp:1411: 
    12: try 
    13: { 
    14:    Class.forName(driverName); 
    15:    dbConn = DriverManager.getConnection(dbURL, userName, userPwd); 
    16:      out.println("Connection successful");
    17: }
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:467)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      

  7.   

    1、连接SqlServer2000
    <connection-url> jdbc:microsoft:sqlserver://localhost:1433;database=xxx </connection-url>
    <driver-class> com.microsoft.jdbc.sqlserver.SQLServerDriver </driver-class>2、连接SqlServer2005
    <connection-url> jdbc:sqlserver://localhost:1433;database=xxx </connection-url>
    <driver-class> com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>2005的jdbc驱动包和2000驱动包差了黑体字部分。你解压你的jdbc的jar包看一下位置。我配jboss时候就是这个问题。不过现在已经解决了好多人的配置问题。还有一个问题,你的sqlserver端口开了吗?sqlserver2005安装完的时候是默认禁用1433端口的,你用2005的SQL Server Configuration Manager工具看一下。