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

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

Читать бесплатно Виктор Гольцман - MySQL 5.0. Библиотека программиста. Жанр: Программирование издательство неизвестно, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

Создание сервлета включает три основных этапа:

• написание кода;

• компиляция сервлета;

• размещение и регистрация сервлета в контейнере.

После выполнения этих этапов можно запустить сервлет, введя его адрес в адресной строке браузера.

Рассмотрим порядок создания сервлета на примере простейшего сервлета.

1. Запустите стандартную программу Windows Блокнот (Пуск → Все программы → Стандартные → Блокнот).

2. В окне программы Блокнот введите код, представленный в листинге 4.14.

Листинг 4.14. Простейший сервлет

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class test extends HttpServlet {

public void service(HttpServletRequest request,

HttpServletResponse response) throws IOException, ServletException {

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

PrintWriter out = response.getWriter();

out.println(«Мой первый сервлет»);

}

}

Данный код создает класс с именем test, который расширяет существующий класс HttpServlet и переопределяет метод service(). Метод service() получает параметры запроса с помощью объекта request и передает ответ сервлета с помощью объекта response. Метод service() нашего класса test выполняет следующие действия:

• устанавливает тип выводимой информации с помощью метода setContentType() объекта response;

• получает ссылку на выходной поток сервлета с помощью метода getWriter() объекта response;

• выводит в этот поток текстовую информацию.

3. Для сохранения файла нажмите комбинацию клавиш Ctrl+S. В стандартном окне Windows Сохранить как откройте любую папку, например <Корневая папка Tomcat>webappsROOTWEB-INFclasses. Введите имя файла test.java (имя файла должно совпадать с именем класса) и нажмите кнопку Сохранить.

4. Откройте окно командной строки Windows. Для этого нажмите кнопку Пуск, в меню выберите пункт Выполнить, в появившемся окне Запуск программы в поле Открыть введите команду cmd и нажмите кнопку OK. На экране возникнет окно командной строки, в которой с помощью команды cd перейдите в папку, в которой находится файл test.java (рис. 4.32).

Рис. 4.32. Компиляция сервлета

5. Скомпилируйте сервлет, выполнив в окне командной строки команду

javac test.java

В результате компиляции в папке, где находится файл test.java, будет создан файл test.class. Этот файл и есть созданный нами сервлет.

...

Внимание!

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

6. Скопируйте файл test.class в папку <Корневая папка Tomcat>webappsROOT

WEB-INFclasses, например C: Program FilesTomcatwebappsROOTWEB-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

<?xml version=”1.0” encoding=”ISO-8859-1”?>

<web-app …<Дополнительные атрибуты>…>

<servlet>

<servlet-name><Имя сервлета 1></servlet-name>

<servlet-class><Класс сервлета 1></servlet-class>

</servlet>

<servlet-mapping>

<servlet-name><Имя сервлета 1></servlet-name>

<url-pattern><Адрес сервлета 1></url-pattern>

</servlet-mapping>

<servlet>

<servlet-name><Имя сервлета 2></servlet-name>

<servlet-class><Класс сервлета 2>test</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name><Имя сервлета 2></servlet-name>

<url-pattern><Адрес сервлета 2></url-pattern>

</servlet-mapping>

</web-app>

Элемент servlet должен содержать произвольное имя сервлета и имя класса, заданное в коде сервлета (см., например, листинг 4.14). Элемент servlet-mapping должен содержать то же самое имя сервлета и URL-адрес, по которому будет доступен этот сервлет.

Например, после добавления сервлета test файл web.xml примет следующий вид (листинг 4.16).

Листинг 4.16. Пример файла web.xml

<?xml version=”1.0” encoding=”ISO-8859-1”?>

<web-app …<Дополнительные атрибуты>…>

<servlet>

<servlet-name>test</servlet-name>

<servlet-class>test</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>test</servlet-name>

<url-pattern>/servlet/test</url-pattern>

</servlet-mapping>

</web-app>

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(«Подключение выполнено успешно»);

Перейти на страницу:

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

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


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

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


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*