я не могу получить Glassfish, чтобы сделать мой код JSP - PullRequest
0 голосов
/ 17 апреля 2011

У меня есть Glassfish v3

У меня есть следующий код

<%@page import="java.io.*;" %>
<%@page import="java.sql.*;" %>

<%

Connection con=null;
ResultSet rst=null;
Statement stmt=null;

try {

    Class.forName("com.mysql.jdbc.Driver").newInstance();
    String url="jdbc:mysql://localhost:3306/achme_health";
    con=DriverManager.getConnection(url,"root","");

    stmt=con.createStatement();
    rst=stmt.executeQuery("select patient_no,fname,lname from patients");

    while(rst.next()){
         out.print(rst.getString(0));
         out.print(rst.getString(1));
         out.print(rst.getString(2));
    }

}catch(Exception e){
    System.out.println("-1");
    System.out.println(e.getMessage());
}

1 Ответ

0 голосов
/ 17 апреля 2011

Следующая строка выдаст SQLException с сообщением типа «недопустимый индекс столбца» (точное сообщение зависит от драйвера JDBC).

out.print(rst.getString(0));

Индекс начинается с 1, а не с 0. Исправьте ваш код соответствующим образом.

out.print(rst.getString(1));
out.print(rst.getString(2));
out.print(rst.getString(3));

Не связано с конкретной проблемой, обратите внимание, что вы печатаете только сообщение об исключении в журналах (вы его читали?) Вместо того, чтобы выдавать полное исключение и / или сбрасывать всю трассировку стека. Это бесполезно при отладке. Я бы предложил пересмотреть ваш плохой подход к обработке исключений. Кроме того, этот код Java предпочтительно размещать в реальном классе Java, а не в файле JSP.

Смотри также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...