【问题标题】:Connecting JSP with MS SQL Server [duplicate]将 JSP 与 MS SQL Server 连接 [重复]
【发布时间】:2011-12-20 03:29:52
【问题描述】:

我正在编写一个 JSP 以从 SQL 服务器检索数据,但我收到以下错误。

org.apache.jasper.JasperException:发生异常处理 JSP 页面 /connectiontoserver.jsp 在第 10 行

9:10:

我创建的 JSP 代码是:

<% Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433/signin");
    Statement statement = con.createStatement() ; 
ResultSet resultset = statement.executeQuery("select username from signintable") ;
%>

【问题讨论】:

  • 请添加有关您的错误消息的更多信息。完整的堆栈跟踪可能很有用。

标签: sql-server jsp jdbc


【解决方案1】:

如果确实需要将 MS-SQL 驱动程序添加到类路径中,您可能会收到 ClassNotFoundException。驱动程序是一个扩展名为 JAR 的文件。并且要将其添加到您的 CLASSPATH 中,您需要检查您的 Web 容器的文档。如果您的 Web Container 是 Tomcat,您需要将其放在 CATALINA_HOME/lib 中,其中 CATALINA_HOME 是您的 TOMCAT 的安装文件夹。

【讨论】:

  • 正如你所说,我在“lib”文件夹中复制了 JAR,然后在 CLASSPATH 环境变量中指定了该路径,但我仍然遇到同样的问题。你能帮我吗?是的,我得到了 ClassNotFoundException。 Stacktrace 如下: Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455) org.apache.jasper.servlet .JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
  • 嘿@ernesto 感谢您的帮助。实际上我使用了 JRE 不支持的错误版本的驱动程序。我现在继续。如果我遇到困难会再次与您联系。干杯!!
【解决方案2】:
<% Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
   Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433/signin");
   Statement statement = con.createStatement() ; 
   ResultSet resultset = statement.executeQuery("select username from signintable") ;
%>

【讨论】:

    【解决方案3】:
    <html>
    <body>
    <%
     Connection connection = null;
        try
        {
         // the sql server driver string
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
         // the sql server url
         String url = "jdbc:odbc:login";
         // get the sql server database connection
         connection = DriverManager.getConnection(url,"sa", "sql");
         Statement statement = connection.createStatement();
         ResultSet resultSet = statement.executeQuery("SELECT *FROM login");
    
         %>
          <table border="1">
              <tr>
                  <th>Username</th>
                  <th>Password</th>
              </tr>
         <%
         while ( resultSet.next() ) {
             %>
    
         <tr><td>
        <%
         String Username = resultSet.getString("username");
         String Password = resultSet.getString("password");
         out.println(Username);
          %>
             </td>
             <td> <%
         out.println(Password);
          }%></td>
         </tr>
          </table>
          <%
        }
        catch (ClassNotFoundException e)
        {
          e.printStackTrace();
          System.exit(1);
        }
        catch (SQLException e)
        {
          e.printStackTrace();
          System.exit(2);
        }
    %>
    </body>
    </html>
    

    此代码适用于我,我使用的是 sql server 2008 r2,java 1.7

    【讨论】:

      猜你喜欢
      • 2017-01-29
      • 1970-01-01
      • 1970-01-01
      • 2018-08-08
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      • 2020-10-04
      • 1970-01-01
      相关资源
      最近更新 更多