1. Программирование Web-сервиса
1. Запустить визуальную среду Eclipse Europe
Пуск | Программы | Eclipse
2. Создать новый Web-проект:
File → New → Project
Выбр. Web → Dynamic Web Project → кн. OK при запросе разрешения возможности Web Development
Ввести soap_server в качестве названия проекта
3. Создать Java-класс, работающий на сервере как Web-служба:
Ф. Package Explorer | развернуть soap_server | пр. кн. мыши на Java Resources → New → Class
Ввести University в качестве имени файла | кн. Finish → откроется окно для ввода кода с уже введенными строками
public class University {
}
4. Подключить библиотеки для работы с базами данных и обработки данных. Для этого до описания класса ввести следующий код:
import java. sql.*;
import java. io.*;
import java. util.*;
5. Создать функцию установки соединения с базой данных University
5.1 Ввести название функции con
public Connection con()
{
}
Весь последующий код этого пункта вводить между открывающей и закрывающей фигурными скобками.
5.2 Создать пустой объект соединения (Connection)
Connection conn = null;
5.3 Создать экземпляр класса драйвера взаимодействия с СУБД MySQL
try {
Class. forName("com. mysql. jdbc. Driver").newInstance();
5.4 Задать текстовую переменную для хранения параметров соединения с базой данных
String connectionURL = "jdbc:mysql:/виртуальный путь к базе данных?user=пользователь;password=пароль";
5.5 Создать пустой объект запроса (Statement):
Statement statement = null;
5.6 Установить соединение с базой данных MySQL:
conn = DriverManager. getConnection(connectionURL, "root", "");
5.7 Создать и настроить объект запроса:
statement = conn. createStatement();
conn. setReadOnly(true);
}
catch (Exception e) {
System. out. println(e. getMessage());
}
5.8 Указать в качестве возвращаемого функцией значения объект соединения:
return conn;
}
6. Создать функцию faculties, формирующую строку XML-набора данных о факультетах, полученных по запросу к базе данных
6.1 Задать имя функции:
public String faculties(){
}
Весь последующий код этого пункта вводить между открывающей и закрывающей фигурными скобками.
6.2 Создать строковую переменную res и занести в нее открывающий тег корневого элемента faculties:
String res = "<faculties>";
6.3 Создать объект соединения с помощью функции con():
try {
Connection conn = con();
6.4 . Выполнить запрос к таблице Faculty (Факультет) для получения данных о факультетах из базы данных. Для этого ввести в сценарий PHP следующий код:
ResultSet rs =
conn. createStatement().executeQuery("SELECT * FROM faculty");
6.5 Для каждой строки результата запроса сформировать XML-элемент faculty с атрибутами ID и name:
while (rs. next())
{
res = res + "<faculty ID='"+rs. getString("id")+"' name='"+rs. getString("name")+"'/>";
}
}
catch (Exception e) {
System. out. println(e. getMessage());
}
6.6 Дополнить полученное содержимое переменной res закрывающим тегом элемента faculties:
res = res + "</faculties>";
6.7 В качестве возвращаемого функцией значения указать переменную res
return res;
}
7. Аналогичным образом создать функции specialities, groups (без входных параметров) и uspev (с входным параметров gr – группа), возвращающие соответственно XML-наборы данных о специальностях, группах и успеваемости студентов.
8. Создать Java Web-службу UniversityService:
пр. кн. мыши на University. class → New → Other
ф. New Wizard → разв. Web Services → выбр. Web Service → кн. Next
выбр. Тип Web-службы ← Java Bean Web → кн. OK
9. Просмотреть сгенерированное WSDL-описание созданной Web-службы UniversityService. wsdl.
