Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Программирование Web-сервиса. 1. Запустить визуальную среду Eclipse Europe




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.

Использование Web-сервиса

1. Создать Web-проект для клиентского приложения.

File → New → Web → Dynamic Web Project

name → Lab4_JSP

2. Добавить в проект новую JSP-страницу

ф. Project Explorer | Lab4_JSP | кл. пр. кн. мыши → выбр. New → JSP |

ф. New JavaServer Page | File name ← Default | удалить весь код элемента HTML

3. Скопировать в полученный файл весь код из файла Index. jsp из первой лабораторной работы.

4. Скопировать WSDL-файл из soap_server в папку Lab4_JSP / WebContent

5. Сгенерировать клиента Web-службы из скопированного WSDL-файла.

пр. кн. мыши на UniversityService. wsdl → New → Other

ф. New Wizard | разв. Web Services | выбр. Web Service Client → кн. Next → кн. OK

в появившемся окне уст. флажок Java proxy → кн. Finish.

Будет создан Java-прокси, который является Java-классом, способным вызывать Web-службу.

6. Открыть код файла Index. jsp

7. Подключить библиотеки для работы с базами данных и обработки XML-данных:

<%@page import="java. sql.*"%>

<%@page import="java. io.*"%>

<%@page import="java. util.*"%>

<%@ page import="javax. xml. parsers. DocumentBuilderFactory"%>

<%@ page import="javax. xml. parsers. DocumentBuilder"%>

<%@ page import="org. w3c. dom.*"%>

<%@ page import="javax. xml. parsers.*"%>

<%@ page import="javax. xml. transform.*"%>

<%@ page import="javax. xml. transform. dom.*"%>

<%@ page import="javax. xml. transform. stream.*"%>

8. Импортировать Java-прокси (UniversityProxy в папке uni), созданный для взаимодействия с Web-службой:

<%@page import="uni. UniversityProxy"%>

9. Создать экземпляр класса UniversityProxy для получения доступа к методам Web-службы:

UniversityProxy proxy = new UniversityProxy();

10. Создать экземпляр класса DocumentBuilderFactory:

DocumentBuilderFactory dbf = DocumentBuilderFactory. newInstance();

11. На основе класса DocumentBuilderFactory создать новый DOM-парсер:

DocumentBuilder db = dbf. newDocumentBuilder();

12. Создать экземпляр класса Reader и загрузить в него результат выполнения Web-метода faculties, преобразованный в массив данных:

Reader reader=new CharArrayReader(proxy. faculties().toCharArray());

13. Создать экземпляр класса Document – новый DOM-объект – и загрузить в него данные из Reader:

Document faculty = db. parse(new org. xml. sax. InputSource(reader));

14. Создать XML-элемент, соответствующий корневому элементу DOM-объекта faculty со всеми его дочерними элементами:

Element fac = faculty. getDocumentElement();

15. Аналогичным образом создать DOM-объекты, соответствующие данным о специальностях и группах, и создать XML-элементы, соответствующие их корневым элементам.

16. Заполнить раскрывающийся список факультетов данными из XML-элемента fac:

16.1 Задать цикл по дочерним элементам XML-элемента fac:

<%

NodeList childNodes = fac. getChildNodes();

if (childNodes!= null)

{

for (int x=0; x<childNodes. getLength(); x++)

{

16.2 В строковые переменные id и name занести значения одноименных XML-атрибутов:

NamedNodeMap facs = childNodes. item(x).getAttributes();

String id = facs. item(0).getNodeValue();

String name = facs. item(1).getNodeValue();

%>

16.3 Определить значение переменной id как значение элемента раскрывающегося списка:

<option value="

<%

out. println(id);

%>

">

16.4 Определить значение переменной name как отображаемый текст элемента раскрывающегося списка:

<%

out. println(name);

%>

</option>

<%

}

}

%>

17. Аналогичным образом заполнить раскрывающиеся списки специальностей и групп.

18. Скопировать в проект файл Browse. jsp из первой лабораторной работы. Настроить файл на использование Web-службы soap_server и ее метода uspev для заполнения таблицы об успеваемости студентов выбранной группы (по аналогии с предыдущими пунктами).

19. Проверить работоспособность созданного Web-приложения. Для этого в окне визуальной среды Eclipse выбрать пункт меню

Project → Run as… → Run on Server

Контрольные вопросы

1. Что такое веб-сервис?

2. Из чего состоит веб-сервис?

3. Для чего используются SOAP-сообщения?

4. Что такое UDDI?

5. Как описать свойства и методы веб-сервиса?

Содержание и оформление отчета

Отчет должен содержать:

– титульный лист, название и цель работы;

– листинг программного кода;

– скриншоты результатов работы Web-приложения с различными вариантами запросов;

– выводы по работе.

 

Источник: http://pandia.ru/text/78/546/88379.php дата доступа [14.03.2016]

 





Поделиться с друзьями:


Дата добавления: 2017-04-14; Мы поможем в написании ваших работ!; просмотров: 340 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Сложнее всего начать действовать, все остальное зависит только от упорства. © Амелия Эрхарт
==> читать все изречения...

2187 - | 2073 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.