2011-12-27 5 views
-1

Я новичок в сервлете. Я пытаюсь подключиться к базе данных с помощью java с JDBC и OJDBC. Я уже написал для этого код Java. Теперь мне нужно запустить его на сервере Tomcat. Поэтому я выбрал сервлет. Я сделал это с помощью Netbeans IDE, там я выбрал сервлет, и я дал имя класса в качестве имени сервлета в web.xml. Я не знаю, где я wrong.So, я отправляю рабочий код Java:как преобразовать этот код Java в сервлеты

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(); 
    } 
} 

Я хочу знать, как я могу преобразовать этот код в сервлет?

+0

Вы должны прочитать больше о сервлетам http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets.html, а затем преобразовать код * самостоятельно * – Manish

+0

Вам не нужно его преобразовывать (кроме нескольких исправлений в классе, у вас есть некоторые довольно крупные ошибки, которые делают его threadunsafe и утечки ресурсов). Вы просто позволяете своему сервлету называть его обычным способом Java. – BalusC

ответ

1

Для начала нужно сначала понять основы сервлетов. Может быть, вы можете обратиться к некоторым простым учебным пособиям по сервлетам и может быть примером проекта. Вот ссылка на Java Tutorial от Oracle: http://docs.oracle.com/javaee/5/tutorial/doc/bnafd.html

На мой взгляд, сначала попробуйте сделать простую работу с серватом. Возможно, просто напечатайте «Hello World». Как только вы четко понимаете, как работает Sevlet, вы можете попытаться интегрироваться с другой частью кода, например с данными JDBC. Также убедитесь, что ваша часть JDBC работает сама по себе.

Поскольку вы новичок в Servelt, у вас возникнут трудности с отладкой больших классов Serrvlet, упростите их и попробуйте понять основные принципы.

2

Развлекать запрос сервлета вам нужно расширить класс как HttpServlet (от servlet-api.jar) и переопределить его метод doGet() и doPost() соответственно.

Запрос отправляется с использованием метода POST или GET. Это ваш метод, который вы используете.

соединение JDBC выполняется внутри doGet() или doPost() или другого метода переопределенного init()

Для этого вам нужно будет добавить внешний Jar (servlet-api.jar от апача) для вашего проекта.

 Смежные вопросы

  • Нет связанных вопросов^_^