2014-04-11 24 views
0

OS 8.1取勝JDK 1.8 數據庫的Oracle 12_c企業 IDE的NetBeans 我努力學習JSP 我已經編寫了以下頁面,並在數據庫連接添加odbc6.jar文件.....無法使用Oracle 12_c用JSP越來越空白頁

<%@page import="java.sql.PreparedStatement"%> 
<%@page import="java.sql.SQLException"%> 
<%@page import="java.sql.ResultSet"%> 
<%@page import="java.sql.Statement"%> 
<%@page import="java.sql.Connection"%> 
<%@page import="java.sql.DriverManager"%> 
<html> 
    <head> 
     <title>Sample jsp</title> 
    </head> 
    <body> 
     <% 
      try { 
       Class.forName("oracle.jdbc.OracleDriver"); 
       Connection conn = DriverManager.getConnection("jdbc:oracle:[email protected]:1521:orcl", "system", "mono"); 
       PreparedStatement ps = conn.prepareStatement("SELECT * FROM person"); 
       // ps.setInt(1, qid); 
       ResultSet rs = ps.executeQuery(); 

       System.out.println("ID\tName\tPhone"); 
       while (rs.next()) { 
        //int id = rs.getInt(1); 
        String name = rs.getString(2); 
        String phone = rs.getString(3); 
     %><%= name%><% 
           } 
          } catch (Exception e) { 
           e.printStackTrace(); 
          } 
     %> 
    </body> 
</html> 

但我正在逐漸:( 相同的代碼在Java SE應用程序運行良好空白頁..... 請點我在正確的方向..

+1

任何'stacktraces'? –

+0

您在您的jsp代碼中打印到System.out,而不是您正在創建的頁面。 <%= name %>應該在頁面上產生輸出,但我懷疑代碼是拋出一個異常,這就是爲什麼你的頁面是空白的。 – user3360944

+0

no stacktaces nothing只是普通的空白頁面 – SouravMoitra

回答

0

我至少會建議兩個更改。

  1. out.print("Error: " + e.getMessage());添加到您的catch塊。你的評論「沒有任何東西只是簡單的空白頁面」讓我覺得你不知道e.printStackTrace();打印到日誌而不是瀏覽器中的頁面。 System.out.println()也不打印到頁面上。
  2. %><%= name%><%替換爲out.print(name);。它每一次你想打印什麼東西時關閉並重新打開scriptlet標記的混亂和可怕的做法。

    <% 
         try 
         { 
          System.out.println("ID\tName\tPhone"); //Print in background 
          out.print("<P>ID\tName\tPhone"); //Print to actual page 
          while (rs.next()) 
          { 
           //int id = rs.getInt(1); 
           String name = rs.getString(2); 
           String phone = rs.getString(3); 
           out.print(name); //Print without closing/opening scriptlet 
          } 
         } 
         catch (Exception e) 
         { 
          //Might not want to show the user the exact error in production though. 
          out.print("Error: " + e.getMessage()); //print error to page 
          e.printStackTrace(); //print error to log 
         } 
        %> 
    

你也真的需要開始縮進的塊更好。

+0

它現在給出一個輸出錯誤:oracle.jdbc.OracleDriver – SouravMoitra

+0

聽起來像你沒有安裝oracle驅動程序的jar文件。 – developerwjk