Виктор Гольцман - MySQL 5.0. Библиотека программиста
- Название:MySQL 5.0. Библиотека программиста
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Виктор Гольцман - MySQL 5.0. Библиотека программиста краткое содержание
Эта книга предназначена для всех, кто желает освоить СУБД MySQL. Для ее чтения вам не нужны никакие специальные знания – достаточно быть пользователем Windows. Вы узнаете, как установить и запустить MySQL, как создать собственную базу данных, как работать с данными при помощи команд SQL, как администрировать базу данных и оптимизировать ее работу. Разработчики веб-приложений на языках PHP, Perl и Java найдут в этой книге полезные сведения по использованию базы данных MySQL в соответствующих приложениях. Для всех операций, которые вам предстоит выполнить, приводятся подробные пошаговые инструкции, все основные действия поясняются на примере учебной базы данных.
MySQL 5.0. Библиотека программиста - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
5. Скомпилируйте сервлет, выполнив в окне командной строки команду
javac test.java
В результате компиляции в папке, где находится файл test.java, будет создан файл test.class. Этот файл и есть созданный нами сервлет.
Внимание!
Далее вы узнаете, как разместить и зарегистрировать сервлет в контейнере сервлетов нашей среды разработки. Если для запуска сервлета вы используете хостинг с поддержкой сервлетов, то при подключении сервлета руководствуйтесь инструкциями провайдера хостинга.
6. Скопируйте файл test.class в папку <���Корневая папка Tomcat>\webapps\ROOT\
WEB-INF\classes, например C: \Program Files\Tomcat\webapps\ROOT\WEB-INF\classes (если исходный файл test.java был создан в этой папке, то файл test.class уже находится в нужной папке и копирование не требуется).
Внимание!
Обратите внимание на регистр символов: важно, чтобы папка для размещения сервлетов называлась именно classes (не CLASSES и не Classes).
7. Откройте для редактирования (например, с помощью программы Блокнот) файл web.xml, находящийся в папке <���Корневая папка Tomcat>\webapps\ROOT\WEB-INF.
В этом файле для каждого нового сервлета необходимо добавить в элемент web-app вложенные элементы servlet и servlet-mapping (листинг 4.15).
Листинг 4.15.
Файл web.xml
<���Дополнительные атрибуты>…>
<���Имя сервлета 1>
<���Класс сервлета 1>
<���Имя сервлета 1>
<���Адрес сервлета 1>
<���Имя сервлета 2>
<���Класс сервлета 2>test
<���Имя сервлета 2>
<���Адрес сервлета 2>
…
Элемент servlet должен содержать произвольное имя сервлета и имя класса, заданное в коде сервлета (см., например, листинг 4.14). Элемент servlet-mapping должен содержать то же самое имя сервлета и URL-адрес, по которому будет доступен этот сервлет.
Например, после добавления сервлета test файл web.xml примет следующий вид (листинг 4.16).
Листинг 4.16.Пример файла web.xml<���Дополнительные атрибуты>…>
test
test
test
/servlet/test
8. Запустите Tomcat. Для этого откройте корневую папку Tomcat, далее папку bin и дважды щелкните на значке файла startup.bat.
Чтобы убедиться, что Tomcat работает нормально, запустите Internet Explorer (Пуск → Все программы → Internet Explorer) или любой другой браузер. В адресной строке браузера введите следующий адрес: http://localhost:8080/ – в результате откроется стартовая страница Tomcat (рис. 4.33).
Рис. 4.33.Стартовая страница Tomcat9. Чтобы запустить сервлет, наберите в адресной строке браузера его адрес, который вы задали в файле web.xml: http://localhost:8080/servlet/test. Вы увидите результат выполнения сервлета: текст «Мой первый сервлет» (рис. 4.34).
Рис. 4.34.Результат выполнения сервлетаИтак, вы научились создавать собственные сервлеты и запускать их. Отмечу, что при изменении ранее созданного сервлета его необходимо перекомпилировать (см. пп. 5–6), а затем перезапустить Tomcat, используя файлы shutdown.bat и startup.bat в папке bin корневой папки Tomcat.
Перейдем теперь к разработке сервлета, взаимодействующего с базой данных MySQL.
Подключение к базе данных
В данном разделе мы рассмотрим простой сервлет, который подключается к базе данных и выводит диагностическое сообщение. Чтобы создать такой сервлет, необходимо импортировать пакеты java.sql.*.
Соединение с базой данных описывается объектом класса Connection. Для создания такого объекта предназначен методpublic static Connection getConnection(“jdbc:mysql://<���Имя
хоста>[:<���Имя порта>]/<���Имя базы данных>[<���Параметры>]”)
throws SQLExceptionкласса DriverManager. Параметры соединения задаются в формате
?<���Имя параметра>=<���Значение>&<���Имя параметра>=<���Значение>…
Важнейшими параметрами соединения являются user (имя пользователя), password (пароль) и characterEncoding (кодировка).
Если при подключении к базе данных произошла ошибка, метод getConnection() сгенерирует исключение SQLException, о котором подробно будет рассказано в подразделе «Обработка ошибок».
Например, вызов методаConnection dbh =
DriverManager.getConnection(«jdbc:mysql://localhost/SalesDept»
+ «?user=username»
+ «&password=userpassword»
+ «&characterEncoding=cp1251»);осуществляет подключение к серверу MySQL, работающему на локальном компьютере, используя имя пользователя username и пароль userpassword, устанавливает для взаимодействия с сервером кодировку CP-1251 и выбирает базу данных SalesDept (Отдел продаж) в качестве текущей. Созданному соединению соответствует объект dbh класса Connection.
Совет
В целях защиты от несанкционированного доступа рекомендуется подключаться к базе данных не от имени пользователя root, а от имени специально созданного пользователя с минимально необходимыми правами доступа. О регистрации пользователей и настройке прав читайте в главе 4.
Создайте теперь сервлет Connect с исходным кодом, представленным в листинге 4.17.
Листинг 4.17.
Подключение к базе данных
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class Connect extends HttpServlet {
public void service(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
response.setContentType(“text/html;charset=windows-1251”);
PrintWriter out = response.getWriter();
try {
//Подсоединяемся к базе данных
Connection dbh =
DriverManager.getConnection(«jdbc:mysql://localhost/SalesDept»
+»?user=username&password=userpassword&characterEncoding=cp1251»);
//Обрабатываем испключение
} catch (SQLException ex) {
out.println(“Ошибка доступа к базе данных. Приносим свои извинения”);
return;
}
out.println(«Подключение выполнено успешно»);
}
}
После размещения и регистрации сервлета в контейнере наберем его адрес в адресной строке браузера. При успешном подключении к базе данных на вебстранице появится соответствующее сообщение (рис. 4.35).
Рис. 4.35.Результат подключения к базе данныхПосле подключения к серверу MySQL можно переходить к работе с данными. В следующем подразделе мы рассмотрим выполнение простых SQL-команд.
Выполнение простых SQL-команд. Обработка результатов запроса
Для выполнения SQL-команд, не имеющих подстановочных параметров, предназначен класс Statement. Объект класса Statement создается с помощью методаStatement createStatement() throws SQLException
класса Connection. Например, вызов метода
Statement query = dbh.createStatement();
создает объект query, соответствующий SQL-команде. Если SQL-команда не предполагает получение данных из базы (такими командами являются, например, команды INSERT, UPDATE, DELETE), то для ее выполнения используется метод
Читать дальшеИнтервал:
Закладка: