Виктор Гольцман - MySQL 5.0. Библиотека программиста

Тут можно читать онлайн Виктор Гольцман - MySQL 5.0. Библиотека программиста - бесплатно ознакомительный отрывок. Жанр: comp-programming. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    MySQL 5.0. Библиотека программиста
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    3.5/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Виктор Гольцман - MySQL 5.0. Библиотека программиста краткое содержание

MySQL 5.0. Библиотека программиста - описание и краткое содержание, автор Виктор Гольцман, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Эта книга предназначена для всех, кто желает освоить СУБД MySQL. Для ее чтения вам не нужны никакие специальные знания – достаточно быть пользователем Windows. Вы узнаете, как установить и запустить MySQL, как создать собственную базу данных, как работать с данными при помощи команд SQL, как администрировать базу данных и оптимизировать ее работу. Разработчики веб-приложений на языках PHP, Perl и Java найдут в этой книге полезные сведения по использованию базы данных MySQL в соответствующих приложениях. Для всех операций, которые вам предстоит выполнить, приводятся подробные пошаговые инструкции, все основные действия поясняются на примере учебной базы данных.

MySQL 5.0. Библиотека программиста - читать онлайн бесплатно ознакомительный отрывок

MySQL 5.0. Библиотека программиста - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Виктор Гольцман
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

public java.util.Enumeration getParameterNames()

класса HttpServletRequest. Напомним, что метод service() получает в качестве параметра объект класса HttpServletRequest, который содержит все параметры HTTP-запроса к Java-серверу. Метод getParameterNames() этого объекта возвращает список имен полей формы, заполненной пользователем. Если этот список пуст, значит, нужно отобразить форму ввода данных, а если нет – обработать введенные данные. Кроме того, мы будем использовать метод

public java.lang.String getParameter(«<���Имя поля формы>»)

класса HttpServletRequest для получения значения, введенного пользователем в поле формы, и метод

public void setCharacterEncoding(<���Кодировка>) throws java.io.UnsupportedEncodingException

класса HttpServletRequest для указания кодировки данных, полученных сервлетом.

Итак, создайте сервлет с исходным кодом, представленным в листинге 4.19.

Листинг 4.19.Ввод данных

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.sql.*;

public class Input extends HttpServlet {

public void service(HttpServletRequest request,

HttpServletResponse response) throws IOException, ServletException {

response.setContentType(«text/html;charset=windows-1251»);

request.setCharacterEncoding(«CP1251»);

PrintWriter out = response.getWriter();

//Получаем список имен параметров формы

java.util.Enumeration params = request.getParameterNames();

//Если список имен параметров пуст, выводим форму

if(!params.hasMoreElements()) {

out.println(«»);

out.println(«

»);

out.println(«»);

out.println(«»);

out.println(«

»);

out.println(“

Пожалуйста, заполните следующие поля:

”);

//Создаем форму для ввода данных

//Обрабатывать введенные данные будет этот же сервлет: /servlet/Input

out.println(«

»);

out.println(“

”);

//Создаем поле для ввода имени заказчика

out.println(“

”);

out.println(«

»);

//Создаем поле для ввода телефона заказчика

out.println(“

”);

out.println(«

»);

//Создаем поле для ввода адреса заказчика

out.println(«

»);

out.println(«

»);

out.println(«

Ваше имя:

out.println(« value=\'\'>

Телефон:

out.println(« value=\'(495)\'>

Адрес:

out.println(« value=\\'\\'>

»);

out.println(«
»);

//Создаем кнопку для подтверждения данных

out.println(“”);

out.println(«

»);

out.println(«

»);

out.println(“

”);

}

//Если список имен параметров непуст, сохраняем значения

else {

try {

//Подсоединяемся к базе данных

Connection dbh =

DriverManager.getConnection(«jdbc:mysql://localhost/SalesDept»

+»?user=username&password=userpassword&characterEncoding=cp1251»);

//Создаем объект для параметризованной SQL-команды

String insertTemplate =

«INSERT INTO Customers (name,phone,address)VALUES (?,?,?)»;

PreparedStatement insert = dbh.prepareStatement(insertTemplate);

//Присваиваем параметрам значения, полученные из формы

insert.setString(1,request.getParameter(«CustomerName»));

insert.setString(2,request.getParameter(«CustomerPhone»));

insert.setString(3,request.getParameter(«CustomerAddress»));

//Выполняем запрос к базе данных

insert.executeUpdate();

//Обрабатываем исключение

} catch (SQLException ex) {

out.println(“Ошибка доступа к базе данных.”);

out.println(“Приносим свои извинения”);

return;

}

//Выводим итоговое сообщение

out.println(“”);

out.println(«

»);

out.println(«»);

out.println(«»);

out.println(«

»);

out.println(“

Поздравляем! Регистрация завершена успешно

”);

out.println(«

»);

out.println(«

»);

}

}

}

Запустив сервлет Input, вы увидите на странице веб-форму (рис. 4.37):

Рис. 4.37.Форма ввода данных

Введите в поля формы какие-либо значения и нажмите кнопку Отправить. Для обработки данных повторно вызовется сервлет Input. На этот раз сервлет получит непустой список параметров, поэтому выполнятся инструкции, следующие после ключевого слова else в листинге 4.19, а именно: создастся объект insert класса PreparedStatement, соответствующий SQL-команде INSERT. Далее с помощью методов setString() в команду будут подставлены введенные вами имя, телефон и адрес, а затем для передачи команды на сервер MySQL вызовется метод executeUpdate(). При успешном выполнении всех этих действий вы увидите на странице соответствующее сообщение (рис. 4.38).

Рис. 4.38.Результат сохранения данных

Итак, вы научились сохранять в базе пользовательские данные с помощью параметризованной SQL-команды.

До этого момента во всех наших сервлетах обработка возможных ошибок при взаимодействии с базой данных сводилась к выводу на экран сообщения об ошибке. В следующем подразделе вы узнаете, какие еще действия можно выполнить при перехвате исключения.

Обработка ошибок

Изучая функции JDBC, вы узнали, что в случае возникновения ошибки все эти функции генерируют исключение SQLException. С помощью методов класса SQLException вы можете получить более подробные сведения об ошибке взаимодействия с базой данных. В частности, метод

public String getMessage()

возвращает описание ошибки, а метод

public int getErrorCode()

возвращает код ошибки. Эту информацию целесообразно отображать на вебстранице только при отладке сервлета; в дальнейшем, при эксплуатации сервлета, лучше записывать детальную информацию об ошибках в файл или отсылать на свой электронный почтовый ящик. В частности, чтобы сохранять сообщения об ошибках в log-файле, добавим в исходный код сервлета вызов метода

public void log(«<���Текст сообщения>»)

класса HttpServlet:

try {

//Операции с базой данных

//Обрабатываем исключение

} catch (SQLException ex) {

out.println(«Ошибка доступа к базе данных.»);

out.println(«Приносим свои извинения»);

//Записываем сообщение об ошибке в log-файл

log(ex.getErrorCode() + « « +ex.getMessage());

return;

}

Например, если модифицировать таким образом сервлет Input (см. листинг 4.19), то в случае отсутствия в базе данных таблицы Customers (Клиенты) в log-файл будет записано следующее сообщение:

28.06.2008 11:15:00 org.apache.catalina.core.ApplicationContext log INFO: Input: 1146 Table \'salesdept.customers\' doesn\'t exist

...

Примечание

При запуске сервлета в созданной нами среде разработки сервлетов сообщение об ошибке будет записано в файл <���Корневая папка Tomcat>\logs\localhost.<���Текущая дата>.log. При использовании хостинга с поддержкой сервлетов уточните имя и местоположение log-файла у провайдера хостинга.

Итак, вы узнали, каким образом исключение SQLException позволяет организовать обработку ошибок, возникших при обращении к базе данных. В завершение кратко обобщим основные сведения, рассмотренные в разделе 4.3 «Интерфейс с Java».

Итоги

В данном разделе вы научились работать с базой данных MySQL, используя следующие функции JDBC:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Виктор Гольцман читать все книги автора по порядку

Виктор Гольцман - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




MySQL 5.0. Библиотека программиста отзывы


Отзывы читателей о книге MySQL 5.0. Библиотека программиста, автор: Виктор Гольцман. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x