Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 330; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.