xlink:href='#Autogen_eBook_id142'/>
Рис. 4.32. Компиляция сервлета5. Скомпилируйте сервлет, выполнив в окне командной строки команду
В результате компиляции в папке, где находится файл test.java, будет создан файл test.class. Этот файл и есть созданный нами сервлет.
Внимание!
Далее вы узнаете, как разместить и зарегистрировать сервлет в контейнере сервлетов нашей среды разработки. Если для запуска сервлета вы используете хостинг с поддержкой сервлетов, то при подключении сервлета руководствуйтесь инструкциями провайдера хостинга.
6. Скопируйте файл test.class в папку <Корневая папка Tomcat>webappsROOT
WEB-INFclasses, например C: Program FilesTomcatwebappsROOT WEB-INFclasses (если исходный файл test.java был создан в этой папке, то файл test.class уже находится в нужной папке и копирование не требуется).
Внимание!
Обратите внимание на регистр символов: важно, чтобы папка для размещения сервлетов называлась именно classes (не CLASSES и не Classes).
7. Откройте для редактирования (например, с помощью программы Блокнот) файл web.xml, находящийся в папке <Корневая папка Tomcat>webappsROOTWEB-INF.
В этом файле для каждого нового сервлета необходимо добавить в элемент web-app вложенные элементы servlet и servlet-mapping (листинг 4.15).
Листинг 4.15.
Файл web.xml
Элемент servlet должен содержать произвольное имя сервлета и имя класса, заданное в коде сервлета (см., например, листинг 4.14). Элемент servlet-mapping должен содержать то же самое имя сервлета и URL-адрес, по которому будет доступен этот сервлет.
Например, после добавления сервлета test файл web.xml примет следующий вид (листинг 4.16).
Листинг 4.16. Пример файла web.xml8. Запустите 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. Для создания такого объекта предназначен методкласса DriverManager. Параметры соединения задаются в формате
Важнейшими параметрами соединения являются user (имя пользователя), password (пароль) и characterEncoding (кодировка).
Если при подключении к базе данных произошла ошибка, метод getConnection() сгенерирует исключение SQLException, о котором подробно будет рассказано в подразделе «Обработка ошибок».
Например, вызов методаосуществляет подключение к серверу MySQL, работающему на локальном компьютере, используя имя пользователя username и пароль userpassword, устанавливает для взаимодействия с сервером кодировку CP-1251 и выбирает базу данных SalesDept (Отдел продаж) в качестве текущей. Созданному соединению соответствует объект dbh класса Connection.
Совет
В целях защиты от несанкционированного доступа рекомендуется подключаться к базе данных не от имени пользователя root, а от имени специально созданного пользователя с минимально необходимыми правами доступа. О регистрации пользователей и настройке прав читайте в главе 4.
Создайте теперь сервлет Connect с исходным кодом, представленным в листинге 4.17.
Листинг 4.17.
Подключение к базе данных