Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите разобраться с исключениями в сервлете. / 9 сообщений из 9, страница 1 из 1
30.06.2006, 18:49
    #33825205
AndrewVP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с исключениями в сервлете.
Вот написал такую прогу, Eclipse выдает следующую ошибку:
"Unhandled exception type SQLException"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
 import  javax.servlet.*;
 import  javax.servlet.http.*;
 import  java.sql.*;
 import  java.sql.Connection;
 import  java.sql.ResultSet;
 import  java.sql.Statement;
 import  java.io.*;
 import  com.mysql.jdbc.*;

 public   class  Hello  extends  HttpServlet {
     public   void  doGet(HttpServletRequest request, HttpServletResponse response)
     throws  IOException, ServletException
    {
    	Connection conn =  null ;
    	ResultSet rs =  null ;
    	Statement stmt =  null ;
    	String xx = "";
    	response.setContentType("text/html;charset=windows-1251");
        PrintWriter out = response.getWriter();
         try 
        {
             Class .forName("com.mysql.jdbc.Driver");
        }
         catch (ClassNotFoundException cnfe)
        {   
            System.err.println("Can't find JDBC driver");
            System.exit(1);
        }
        try
        {
        	conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/forum","forum","******");
            stmt=conn.createStatement();
            rs=stmt.executeQuery("Select id, nick from users");
        }
        catch(SQLException se)
        {
            System.err.println("DB connection error");
            System.exit(1);
        }
        out.println("<html>");
        out.println("<head>");
        out.println("<meta http-equiv='content-type' content='text/html; charset=windows-1251'>");
        out.println("<title>Работает :)</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Hello World!</h1>");
        
        out.println("<table>");
         while (rs.next()){
            out.println("<tr><td>");
             try 
            {
                xx =rs.getString("nick");
            }
             catch (SQLException se)
            {
                System.err.println("DB connection error");
                System.exit( 1 );
            }
            out.println(xx);
            out.println("</td></tr>");
        }
        out.println("</table>");
        out.println("</body>");
        out.println("</html>");
    }

}
В чем проблема? где-то забыл проставить исключения? Уже замучился бороться... Перерыл кучу док в инете, вроде все нормально...
...
Рейтинг: 0 / 0
30.06.2006, 18:57
    #33825221
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с исключениями в сервлете.
rs.next() тоже throws SQLException
...
Рейтинг: 0 / 0
30.06.2006, 19:00
    #33825225
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с исключениями в сервлете.
В этом месте: while(rs.next()){
Метод next() может давать SQLException

И еще: System.exit(1); - вот так никогда не делай в сервлетах, ты можешь свалить web-сервер, если он криво настроен
...
Рейтинг: 0 / 0
30.06.2006, 22:04
    #33825415
AndrewVP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с исключениями в сервлете.
KachalovВ этом месте: while(rs.next()){
Метод next() может давать SQLException

И еще: System.exit(1); - вот так никогда не делай в сервлетах, ты можешь свалить web-сервер, если он криво настроен
А как, кстати, правильно это прописать, чтобы сохранить next() в проверке условия? Всунуть try туда??
После того как поставил обработку исключения и в этом месте, выдается ошибка, смысл которой - SQLException - не тот тип исключения, который надо "где-то" в doGet... Где он там неправильный?
ЗЫ Извините за дилетантские вопросы, но надо... :(
...
Рейтинг: 0 / 0
01.07.2006, 01:56
    #33825516
AndrewVP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с исключениями в сервлете.
Вот, что получилось теперь:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
 import  javax.servlet.*;
 import  javax.servlet.http.*;
 import  java.sql.*;
 import  java.sql.Connection;
 import  java.sql.ResultSet;
 import  java.sql.Statement;
 import  java.io.*;
 import  com.mysql.jdbc.*;

 public   class  Hello  extends  HttpServlet {
     public   void  doGet(HttpServletRequest request, HttpServletResponse response)
     throws  IOException, ServletException
    {
    	Connection conn =  null ;
    	ResultSet rs =  null ;
    	Statement stmt =  null ;
    	String xx = "";
    	response.setContentType("text/html;charset=windows-1251");
        PrintWriter out = response.getWriter();
         try 
        {
             Class .forName("com.mysql.jdbc.Driver");
        }
         catch (ClassNotFoundException cnfe)
        {   
            System.err.println("Can''t find JDBC driver");
        }
         try 
        {
        	conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/forum","forum","******");
            stmt=conn.createStatement();
            rs=stmt.executeQuery("Select id, nick from users");
        }
         catch (SQLException se)
        {
            System.err.println("DB connection error");
        out.println("<html>");
        out.println("<head>");
        out.println("<meta http-equiv='content-type' content='text/html; charset=windows-1251'>");
        out.println("<title>Работает :)</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Hello World!</h1>");
        
        out.println("<table>");
         try 
        {
         while (rs.next()){
            out.println("<tr><td>");
                xx =rs.getString("nick");
            out.println(xx);
            out.println("</td></tr>");
        }
        }
         catch (SQLException se)
        {
            System.err.println("DB connection error");
        }
        out.println("</table>");
        out.println("</body>");
        out.println("</html>");
    }

}
Теперь следующая ошибка:
Exception SQLException is not compatible with throws clause in HttpServlet.doGet(HttpServletRequest, HttpServletResponse)

Насколько я понимаю, мне запрещают использовать SQLException в этом методе? Что делать теперь?
...
Рейтинг: 0 / 0
01.07.2006, 01:58
    #33825518
AndrewVP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с исключениями в сервлете.
Пропущена закрывающая скобка в Catch - это описка.
...
Рейтинг: 0 / 0
01.07.2006, 11:37
    #33825628
AndreySerj
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с исключениями в сервлете.
У меня твой код работает без проблем.
Кинь стэк-трэйс ошибки.
...
Рейтинг: 0 / 0
01.07.2006, 17:28
    #33825858
AndrewVP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с исключениями в сервлете.
Странно.. Сегодня все заработало :) Вот уж точно - утро вечера мудренее. :)
...
Рейтинг: 0 / 0
01.07.2006, 17:29
    #33825860
AndrewVP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с исключениями в сервлете.
Срасибо за помощь!!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите разобраться с исключениями в сервлете. / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]