2011-12-27 82 views
-1

我是servlet的新手。我正嘗試使用JDBC和OJDBC使用java連接到數據庫。我已經爲此寫了一個java代碼。現在我需要在Tomcat服務器上運行它。所以我選擇了servlet。我使用Netbeans IDE完成了這個任務,我選擇了servlet,並在web.xml中將類名稱作爲servlet名稱。我不知道我在哪裏做wrong.So,我張貼的工作Java代碼:如何將此java代碼轉換爲servlet

public class convert { 

    int i = 0, j = 0, k = 0; 
    Connection conn = null; 
    Connection connection = null; 
    static int count = 0; 

    // Following variables are required for assigning resultset values from 
    // excel spreadsheet 
    String name[] = null; 
    String Title[] = null; 

    Statement stmt1 = null; 
    ResultSet NumOfRows = null; 
    Statement stmt2 = null; 
    ResultSet SpreadsheetValues = null; 
    Statement stmt3 = null; 
    ResultSet rs3 = null; 

    int Rowcount = 0; 

    // this static function required to connect database 
    static { 
     try { 
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
     } catch (ClassNotFoundException ex) { 
      Logger.getLogger(spreadsheet2db.class.getName()).log(
        Level.SEVERE, null, ex); 
     } 
    } 

    // connect Sql database 
    void ConnectSqlDB() throws SQLServerException, SQLException { 
     // code 
    } 

    void ConnectExcelDB() throws SQLException { 
     conn = DriverManager.getConnection("jdbc:odbc:condb", "", ""); 
    } 

    // getRowcount() will return number of rows present in spreadsheet 
    // Result of rowcount is used for array size 
    void getRowcount() throws SQLException { 
     // System.out.println("Number of rows in spreadsheet"); 
     // System.out.println(Rowcount); 
    } 

    void sheetValues() throws SQLException { 
     stmt2 = conn.createStatement(); 
     // ExcelQueryString2 will give values of attributes 
     while (SpreadsheetValues.next()) { 
      // Assigning Spread sheet values to String array 
      Cname[j] = SpreadsheetValues.getString("name"); 
      Title[j] = SpreadsheetValues.getString("Title"); 
      j++; 
     } 
    } 

    public static void main(String args[]) throws SQLServerException, 
      SQLException { 
     convert a = new convert(); 
     a.ConnectSqlDB(); 
     a.ConnectExcelDB(); 
     a.getRowcount(); 
     a.sheetValues(); 
    } 
} 

我想知道我怎麼能這樣的代碼轉換成Servlet?

+0

你應該http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets.html閱讀更多關於servlet然後轉換代碼*你自己的* – Manish 2011-12-27 06:39:14

+0

你不需要轉換它(除了在課堂上的幾個錯誤修正;你有一些非常重要的錯誤,使它不安全和資源泄漏)。您只需讓您的servlet將其稱爲通常的Java方式。 – BalusC 2011-12-27 13:40:16

回答

1

首先,您必須先了解servlet的基礎知識。可能你可以參考一些簡單的Servlet教程,也可能是一些示例項目。 這是Oracle的Java教程鏈接: http://docs.oracle.com/javaee/5/tutorial/doc/bnafd.html

在我看來,首先嚐試做一個簡單的servet工作。 可能只是打印一個'Hello World'。一旦你清楚了Sevlet的工作方式,那麼你可以嘗試與其他部分代碼(如JDBC細節)集成。 還要確保你的JDBC部分本身工作。

由於您是Servelt的新手,您在調試大型Serrvlet類時會遇到困難,使其變得簡單並嘗試清楚基本知識。

2

招待你需要擴展類作爲HttpServlet(從servlet-api.jar),並相應地重寫它的doGet()doPost()方法Servlet請求。

請求使用POST方法或GET方法發送。 您使用的是哪種方法。

的JDBC連接內部doGet()doPost()或另一重載方法init()

做爲此,您需要一個外部JAR(servlet-api.jar來自Apache的)添加到項目中。