powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите разобраться с исключениями в сервлете.
9 сообщений из 9, страница 1 из 1
Помогите разобраться с исключениями в сервлете.
    #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
Помогите разобраться с исключениями в сервлете.
    #33825221
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rs.next() тоже throws SQLException
...
Рейтинг: 0 / 0
Помогите разобраться с исключениями в сервлете.
    #33825225
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В этом месте: while(rs.next()){
Метод next() может давать SQLException

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

И еще: System.exit(1); - вот так никогда не делай в сервлетах, ты можешь свалить web-сервер, если он криво настроен
А как, кстати, правильно это прописать, чтобы сохранить next() в проверке условия? Всунуть try туда??
После того как поставил обработку исключения и в этом месте, выдается ошибка, смысл которой - SQLException - не тот тип исключения, который надо "где-то" в doGet... Где он там неправильный?
ЗЫ Извините за дилетантские вопросы, но надо... :(
...
Рейтинг: 0 / 0
Помогите разобраться с исключениями в сервлете.
    #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
Помогите разобраться с исключениями в сервлете.
    #33825518
AndrewVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пропущена закрывающая скобка в Catch - это описка.
...
Рейтинг: 0 / 0
Помогите разобраться с исключениями в сервлете.
    #33825628
AndreySerj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня твой код работает без проблем.
Кинь стэк-трэйс ошибки.
...
Рейтинг: 0 / 0
Помогите разобраться с исключениями в сервлете.
    #33825858
AndrewVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно.. Сегодня все заработало :) Вот уж точно - утро вечера мудренее. :)
...
Рейтинг: 0 / 0
Помогите разобраться с исключениями в сервлете.
    #33825860
AndrewVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Срасибо за помощь!!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите разобраться с исключениями в сервлете.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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