Например, после добавления сервлета 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.Стартовая страница Tomcat
9. Чтобы запустить сервлет, наберите в адресной строке браузера его адрес, который вы задали в файле 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
Читать дальше
Конец ознакомительного отрывка
Купить книгу