КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Запись в файл 4 страница// http://avanta.vvsu.ru/servlets/examples.example_db // предполагается, что сервлет находится в директории сервлетов на WWW-сервере avanta.vvsu.ru import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; public class example_db extends HttpServlet { public void doGet (HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { // передача типа генерируемого сервлетом содержимого response.setContentType("text/html; charset=windows-1251"); // получение выходного потока для вывода генерируемого содержимого Writer out=new BufferedWriter(new OutputStreamWriter(response.getOutputStream(),"Cp1251")); // начало формирования результата в формате html-файла out.write("<HTML><HEAD><TITLE>Пример сервлета</TITLE></HEAD><body>\n"); // формирование содержимого out.write("<h1>Пример работы сервлета, использующего JDBC</h1>\n"); //------------- Что происходит в этом блоке try-catch? ------------------------ try { String query; Statement stmt; PreparedStatement pstmt; CallableStatement cstmt; ResultSet rset; DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); java.sql.Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@uran:1521:ORCL","scott","tiger"); // ------------------------------------------------------------------------ out.write("<h2>Результат работы <<статичного запроса,параметризированного запроса, хранимой процедуры(или функции)>>(ненужное удалить!!!)</h2>\n"); query="select CITY,COUNTRY,POPULATION from WORLD_CITIES order by COUNTRY"; stmt = conn.createStatement (); rset = stmt.executeQuery (query); while (rset.next ()) { out.write("<p><font color=\"green\">"); out.write(rset.getString(2)+", "+rset.getString(1)+", "+rset.getString(3)); out.write("</font></p>\n"); } rset.close(); stmt.close(); // ------------------------------------------------------------------------ out.write("<h2>Результат работы <<статичного запроса,параметризированного запроса, хранимой процедуры (или функции)>>(ненужное удалить!!!)</h2>\n"); query="select CITY,POPULATION from WORLD_CITIES where COUNTRY=? order by CITY"; pstmt = conn.prepareStatement (query); pstmt.setString(1,"Australia"); rset = pstmt.executeQuery (); while (rset.next ()) { out.write("<p><font color=\"blue\">"); out.write(rset.getString(1)+" -- "+rset.getString(2)); out.write("</font></p>\n"); } rset.close(); pstmt.close(); // ------------------------------------------------------------------------ out.write("<h2>Результат работы <<статичного запроса,параметризированного запроса, хранимой процедуры (или функции)>>(ненужное удалить!!!)</h2>\n"); query="{?=call summa(?,?)}"; cstmt = conn.prepareCall(query); cstmt.registerOutParameter(1,java.sql.Types.INTEGER); cstmt.setInt(2,7); cstmt.setString(3,"8"); cstmt.executeUpdate(); int res=cstmt.getInt(1); out.write("<p><font color=\"teal\">Итог..?чего?.. = "+res+"</font></p>\n"); cstmt.close(); conn.close(); } catch(SQLException e) { out.write("<p>Обращение к базе данных вызвало следующее исключение: "+e.toString()); } finally { // завершение формирования результата и закрытие потока out.write("</body></html>\n"); out.flush(); out.close(); return; } } } /*--------------------------*/ Задания к лабораторной работе Задание1. Проверить и объяснить работу сервлета example_db,рассматриваемого в данной главе в качестве примера и отмеченного курсивом. Задание 2. Дать ответы на контрольные вопросы. Контрольные вопросы 1. Как происходит соединение с базой данных? 2. Как выбрать результаты запроса? 3. Для чего используется интерфейс ResultSetMetaData? 4. Как выполняется доступ к хранимым функциям и процедурам? 5. Почему применение выходных параметров полезно в процедурах и функциях? 6. Какие дополнительные функции включает в себя отладка приложений JDBC? ПРИЛОЖЕНИЕ 1
Дата добавления: 2014-11-20; Просмотров: 335; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |