Программирование сетевых приложений
БГУИР (Белорусский государственный университет информатики и радиоэлектроники)
Шпаргалка
на тему: «Программирование сетевых приложений»
по дисциплине: «Программирование сетевых приложений»
2021
15.00 BYN
Программирование сетевых приложений
Тип работы: Шпаргалка
Дисциплина: Программирование сетевых приложений
Работа выполнена без доработок.
Уникальность свыше 40%.
Работа оформлена в соответствии с методическими указаниями учебного заведения.
Количество страниц - 57.
Поделиться
1. Понятие многопоточности, многозадачности. Поточная и процессная многозадачность.
2. Потоки. Жизненный цикл потока.
3. Управление потоками, их приоритеты. Главный поток. Методы синхронизации потоков (оператор synchronized).
4. Класс Thread и интерфейс Runnable. Методы класса Thread. Примеры использования расширения Thread и реализации интерфейса Runnable.
5. Деление сетей по степени территориальной распределенности. Топологии сетей.
6. Адресация в сетях. Типы адресов и их характерстика.
7. Понятие DNS -сервера. Понятие домена. Домены верхнего уровня.
8. Понятие протокола. Примеры протоколов (HTTP, FTP, SMTP, TELNET и пр.).
9. Особенности протоколов ТСР и UDP.
10. Понятия сервера и клиента. Архитектура «клиент-сервер».
11. Сокеты TCP/IP серверов. Сокеты TCP/IP клиентов. Основные классы и интерфейсы: ServerSocket, Socket, метод accept(), объекты InputStream и OutputStream, методы read() и write().
12. Дейтаграммы. Создание приложений с использованием дейтаграмм. Основные классы и интерфейсы: DatagramSocket, DatagramPacket, чтение данных дейтаграммы.
13. Сериализация в Java.
14. URL: определение, структура, пример создания, пример чтения из URLConnection.
15. Broadcasting в Java: определение и пример.
16. Понятие JavaFX. Класс Application и жизненный цикл приложения.
17. Понятие JavaFX. Класс Stage.
18. Понятие JavaFX. Класс Scene.
19. Понятие JavaFX. Графические элементы. Класс Node.
20. Взаимодействие с пользователем и обработка событий в JavaFX.
21. Определение интерфейса в FXML.
22. Контроллеры и взаимодействие с пользователем.
23. Панели компоновки. FlowPane. HBox. VBox. BorderPane.
24. Панели компоновки. StackPane. AnchorPane. GridPane. TilePane.
25. Элементы управления. Кнопки и метки. CheckBox. TreeView
26. Элементы управления. ToggleButton. Slider. Текстовые элементы управления.
27. Элементы управления. ScrollPane. RadioButton. ListView. ComboBox
28. Элементы управления. ChoiceBox. Tooltip. TableView
29. Понятия драйвера, соединения и запроса к базам данных.
30. Интерфейс JDBC.
31. Основные пакеты и классы для работы с БД (класс Connection; класс Statement и его методы executeUpdate(), executeQuery(), execute(); класс ResultSet и его методы getBoolean(), getDate() и т.п.).
32. Схема работы с БД из программ на Java.
33. Понятие Hibernate Framework. Преимущества использования Hibernate Framework.
34. Объекты Hibernate SessionFactory, Session и Transaction.
35. Конфигурационный файл hibernate.cfg.xml.
36. Файл mapping.
37. Аннотации для отображения в Hibernate (@Entity, @Table, @Column, @Id, @GeneratedValue, @SequenceGenerator, @OneToMany, @ManyToOne, @ManyToMany).
38. Язык запросов HQL. Запросы на выборку, обновление, удаление, добавление данных.
39. XML: определение, общие понятия.
40. Структура документа XML. Пример XML-документа.
41. XML Schema. Описания структуры XML-документа с помощью XML Schema.
42. Сервлеты. Жизненный цикл сервлета.
43. Интерфейсы и классы для разработки сервлетов (интерфейс Servlet и класс GenericServlet, интерфейсы HttpServletRequest, HttpServletResponse и класс HttpServlet).
44. web.xml и маппинг сервлетов.
45. Переадресация и перенаправление запроса в сервлетах.
46. Типы HTTP запросов.
47. Понятие JSP.
48. Объявления, скриптлеты и выражения в JSP.
49. Передача данных HTML-форм. Методы get и post.
50. JSP директивы.
51. JSP неявные объекты.
52. Библиотека тегов JSTL. core - основные теги.
53. Библиотека тегов JSTL. fomatting - теги форматирования.
54. Контейнеры сервлетов. Контейнер Apache Tomcat.
1) Понятие многопоточности, многозадачности. Поточная и процессная многозадачность.
Многозадачность (multitasking) – это способность операционной системы выполнять несколько программ одновременно. В основе реализации этого принципа на персональных ЭВМ лежит использование операционной системой аппаратного таймера для выделения отрезков времени (time sliced) для каждого из одновременно выполняемых процессов. Если эти отрезки времени достаточно малы, и машина не перегружена слишком большим числом программ, то пользователю кажется, что все эти программы выполняются параллельно.
2) Потоки. Жизненный цикл потока.
Поток – это по сути последовательность инструкций, которые выполняются параллельно с другими потоками. Каждая программа создает по меньшей мере один поток: основной, который запускает функцию main(). Программа, использующая только главный поток, является однопоточной; если добавить один или более потоков, она станет многопоточной.
3) Управление потоками, их приоритеты. Главный поток. Методы синхронизации потоков (оператор synchronized).
Потоку можно назначить приоритет от 1 (константа MIN_PRIORITY) до 10 (MAX_PRIORITY) с помощью метода setPriority(int prior). Получить значение приоритета можно с помощью метода getPriority(). Поток с более высоким приоритетом в данном случае, как правило, монополизирует вывод на консоль.
4) Класс Thread и интерфейс Runnable. Методы класса Thread. Примеры использования расширения Thread и реализации интерфейса Runnable.
Основой поток может создавать дополнительные потоки, тогда программа становится многопоточной.
● class Thread implements Runnable
● 2 варианта создания потока
1) public class MyClass extends Thread {
public void run() { /* тело потока*/ }
5) Деление сетей по степени территориальной распределенности. Топологии сетей.
К локальным сетям - Local Area Networks (LAN) - относят сети компьютеров, сосредоточенные на небольшой территории (обычно в радиусе не более 1-2 км). В общем случае локальная сеть представляет собой коммуникационную систему, принадлежащую одной организации. Из-за коротких расстояний в локальных сетях имеется возможность использования относительно дорогих высококачественных линий связи, которые позволяют, применяя простые методы передачи данных, достигать высоких скоростей обмена данными порядка 100 Мбит/с.
6) Адресация в сетях. Типы адресов и их характеристика.
Каждый компьютер в компьютерной сети имеет имя. Для этого служит так называемая IP (Internet Рго1осо1)-адресация. IP-адрес - это уникальный номер компьютера в сети. IP-адрес определяет местонахождение узла в сети подобно тому, как адрес дома указывает его расположение в городе. IP-адрес может быть «статический - неизменный» или «динамический - выдается сервером».
7) Понятие DNS -сервера. Понятие домена. Домены верхнего уровня.
DNS (англ. Domain Name System «система доменных имён») — компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты и/или обслуживающих узлах для протоколов в домене (SRV-запись).
8) Понятие протокола. Примеры протоколов (HTTP, FTP, SMTP, TELNET и пр.).
Протокол – это набор правил, в соответствии с которым компы обмениваются информацией. Эти правила включают формат, время и последовательность передачи данных, способы контроля и коррекции ошибок. Набор разнообразных протоколов, при помощи которых взаимодействуют между собой прикладные программы.
9) Особенности протоколов ТСР и UDP.
Вообще, протоколы транспортного уровня широко применяются в современных сетях. Именно они позволяют гарантировать доставку сообщения до адресата, а также сохраняют правильную последовательность передачи данных. При этом протоколы имеют ряд различий, что позволяет использовать их профильно, для решения своих задач каждый.
10) Понятия сервера и клиента. Архитектура «клиент-сервер».
Клиент – компьютерное устройство, которое отсылает запросы серверу, касающиеся выполнения определенных задач или предоставления конкретной информации.
11) Сокеты TCP/IP серверов. Сокеты TCP/IP клиентов. Основные классы и интерфейсы: ServerSocket, Socket, метод accept(), объекты InputStream и OutputStream, методы read() и write().
Сокет - универсальный интерфейс для создания каналов для межпроцессного взаимодействия.
Сокеты tcp/ip серверов: Как было указано выше, для создания сокетов серверов используется класс ServerSocket. Указанный класс используется для создания серверов, которые прослушивают либо локальные, либо удаленные программы клиента, чтобы соединяться с ними на опубликованных портах.
12) Дейтаграммы. Создание приложений с использованием дейтаграмм. Основные классы и интерфейсы: DatagramSocket, DatagramPacket, чтение данных дейтаграммы.
Дейтаграмма, также датаграмма – блок информации, посланный как пакет сетевого уровня через передающую среду без предварительного установления соединения и создания виртуального канала. Датаграмма представляет собой единицу информации в протоколе (protocol data unit, PDU) для обмена информацией на сетевом (в случае протокола IP, IP-датаграммы) и транспортном (в случае протокола UDP, UDP-датаграммы) уровнях эталонной модели OSI.
13) Сериализация в Java.
Сериализация – это процесс сохранения состояния объекта в последовательность байт. Сериализация объектов - это процесс сохранения состояния объектов в виде последовательности байтов, а также процесс восстановления в дальнейшем из этих байтов "живых" объектов.
14) URL: определение, структура, пример создания, пример чтения из URLConnection.
Унифицированный указатель ресурса (от англ. Uniform Resource Locator, сокр. URL) –система унифицированных адресов электронных ресурсов, или единообразный определитель местонахождения ресурса.
15) Понятие JavaFX. Класс Application и жизненный цикл приложения.
JavaFX – это библиотека Java, используемая для создания многофункциональных интернет-приложений. Приложения, написанные с использованием этой библиотеки, могут работать на разных платформах.
16) Понятие JavaFX. Класс Stage.
JavaFX – это библиотека Java, используемая для создания многофункциональных интернет-приложений. Приложения, написанные с использованием этой библиотеки, могут работать на разных платформах.
17) Понятие JavaFX. Класс Scene.
JavaFX – это библиотека Java, используемая для создания многофункциональных интернет-приложений. Приложения, написанные с использованием этой библиотеки, могут работать на разных платформах.
Приложения, разработанные с использованием JavaFX, могут работать на различных устройствах, таких как настольные компьютеры, мобильные телефоны, телевизоры, планшеты и т. Д.
18) Понятие JavaFX. Графические элементы. Класс Node.
JavaFX – это библиотека Java, используемая для создания многофункциональных интернет-приложений. Приложения, написанные с использованием этой библиотеки, могут работать на разных платформах.
19) Взаимодействие с пользователем и обработка событий в JavaFX.
Для взаимодействия с пользователем в JavaFX используется событийная модель. В этой модели есь источник события - некоторый элемент управления, который генерирует событие, и есть один или несколько слушаетелей или обработчиков события, которые подписываются на событие.
20) Контроллеры и взаимодействие с пользователем.
По сути контроллер это обычный класс java, который может взамодействовать с FXML.
21) Панели компоновки. FlowPane. HBox. VBox. BorderPane.
FlowPane располагает вложенные элементы друг за другом. Если они не помещаются в один ряд, то они переносятся на следующий ряд.
По умолчанию элементы размещаются в ряд по горизонтали, но также можно размещать их и по вертикали.
22) Панели компоновки. StackPane. AnchorPane. GridPane. TilePane.
StackPane :Это более простой элемент компоновки. Он располагает все элементы в ряд либо по горизонтали, либо по вертикали в зависимости от ориентации. Свойства Orientation по умолчанию используется значение Vertical, то есть StackPanel создает вертикальный ряд, в который помещает все вложенные элементы сверху вниз.
23) Элементы управления. Кнопки и метки. CheckBox. TreeView.
TreeView представляет визуальный элемент в виде дерева. Дерево содержит узлы, которые представляют объекты TreeNode. Узлы могут содержать другие подузлы и могут находиться как скрытом, так и в раскрытом состоянии. Все узлы содержатся в свойстве Nodes.
24) Элементы управления. ToggleButton. Slider. Текстовые элементы управления.
Класс javafx.scene.control.ToggleButton представляет кнопку, которая может находиться в двух состояниях: включенном и выключенном. Этот класс также наследуется от класса ButtonBase и поэтому имеет некоторую общую для всех кнопок функциональность.
25) Элементы управления. ScrollPane. RadioButton. ListView. ComboBox.
Элементы управления не всегда могут помещаться в отведенное им пространство. В этом случае можем использовать полосы прокрутки для удобного обращения к подобным элементам управления. Для создания возможности прокрутки в JavaFX применяется класс javafx.scene.control.ScrollPane. ScrollPane определяет два конструктора: ScrollPane(): создает пустой объект ScrollPane. ScrollPane(Node content): создает объект ScrollPane, в который помещается узел content.
26) Понятия драйвера, соединения и запроса к базам данных.
Драйвер – компьютерное программное обеспечение, с помощью которого другое программное обеспечение (операционная система) получает доступ к аппаратному обеспечению некоторого устройства. Взаимодействие между приложением Java и СУБД осуществляется с помощью драйверов JDBC, обеспечивающих реализацию общих интерфейсов для конкретных СУБД и конкретных протоколов.
27) Интерфейс JDBC.
JDBC (Java DataBase Connectivity) – стандартный прикладной интерфейс (API) языка Java для организации взаимодействия между приложением и СУБД. Это взаимодействие осуществляется с помощью драйверов JDBC, обеспечивающих реализацию общих интерфейсов для конкретных СУБД и конкретных протоколов.
28) Основные пакеты и классы для работы с БД (класс Connection; класс Statement и его методы executeUpdate(), executeQuery(), execute(); класс ResultSet и его методы getBoolean(), getDate() и т.п.).
Подключение Connection: Для соединения с БД необходимо использовать класс Connection пакета java.sql. После установления соединения можно выполнять различные SQL-запросы и получать результаты их обработки сервером.
29) Схема работы с БД из программ на Java.
Для хранения данных можем использовать различные базы данных - Oracle, MS SQL Server, MySQL, Postgres и т.д. Все эти системы управления базами данных имеют свои особенности. Главное, что их объединяет это взаимодействие с хранилищем данных посредством команд SQL. И чтобы определить единый механизм взаимодействия с этими СУБД в Java еще начиная с 1996 был введен специальный прикладной интерфейс API, который называется JDBC.
30) Понятие Hibernate Framework. Преимущества использования Hibernate Framework.
Hibernate – это ORM фреймворк для Java с открытым исходным кодом. Эта технология является крайне мощной и имеет высокие показатели производительности. Hibernate создаёт связь между таблицами в базе данных (далее – БД) и Java-классами и наоборот. Это избавляет разработчиков от огромного количества лишней, рутинной работы, в которой крайне легко допустить ошибку и крайне трудно, потом её найт
31) Объекты Hibernate SessionFactory, Session и Transaction.
SessionFactory – Экземпляр SessionFactory создается методом buildSessionFactory (ServiceRegistry) объекта org.hibernate.Configuration и предназначен для получения объекта Session. Инициализируется SessionFactory один раз. Внутреннее состояние SessionFactory неизменно (immutable), т.е. он является потокобезопасным. Internal state (внутреннее состояние) включает в себя все метаданные об Object Relational Mapping, определяемые при создании SessionFactory.
32) Конфигурационный файл hibernate.cfg.xml.
Файл конфигурации hibernate.cfg.xml содержит информацию о базе данных (драйвер, пул подключений, диалект) и параметрах подключения к серверу БД (url, login, password). В качестве параметров подключения можно использовать как JDBC, так и JNDI. В файле конфигурации также определяются дополнительные параметры, которые будут использованы при работе с сервером БД, Так, здесь необходимо определить маппинги сущностей/классов.
33) Файл mapping.
Файл отображения (mapping file) используется для связи entity бинов с таблицами базы данных. Содержимое файла имеет формат XML. Файл mapping можно использовать вместо аннотаций JPA. Особенно он становится необходимым при использовании сторонних библиот
34) Аннотации для отображения в Hibernate (@Entity, @Table, @Column, @Id, @GeneratedValue, @SequenceGenerator, @OneToMany, @ManyToOne, @ManyToMany).
В Hibernate предусмотрена возможность конфигурирования приложения с помощью аннотаций. Аннотации являются мощным инструментом для предоставления метаданных, а также намного нагляднее при чтении нашего кода др.
35) Язык запросов HQL. Запросы на выборку, обновление, удаление, добавление данных.
HQL (Hibernate Query Language) – это объектно-ориентированный язык запросов, который очень похож на SQL. Главное различие языков HQL и SQL связано с тем, что SQL формирует запросы из наименований таблиц в базе данных и их столбцов, а HQL работает с сущностями (классами) и их полями (атрибутами класса).
36) XML: определение, общие понятия.
XML - это расширяемый язык разметки (Extensible Markup Language), разработанный специально для размещения информации в World Wide Web, наряду с HTML, который давно стал стандартным языком создания Web-страниц. В отличие от HTML, вместо использования ограниченного набора определённых элементов вы имеете возможность создавать ваши собственные элементы и присваивать им любые имена по вашему выбору.
37) Структура документа XML. Пример XML-документа.
XML-документ состоит из деклараций, элементов, комментариев, специальных символов и директив.
1. Элементы и атрибуты
XML – это теговый язык разметки документов. Иными словами, любой документ на языке XML представляет собой набор элементов, причем начало и конец каждого элемента обозначается специальными пометками, называемыми тегами. То есть, как и HTML, язык XML для описания данных использует тэги.
38) XML Schema. Описания структуры XML-документа с помощью XML Schema.
XML Schema – язык описания структуры XML-документа. Спецификация XML Schema является рекомендацией W3C.
XML Schema, как и большинство языков описания данных XML, был задуман для определения правил, которым должен подчиняться документ. Но в отличие от других языков описания данных он был разработан так, чтобы его можно было использовать в создании программного обеспечения для обработки XML-документов.
39) Сервлеты. Жизненный цикл сервлета.
Servlet - это java-программа, которая выполняется на серверной стороне Web-приложения. Точно так же, как апплеты динамически расширяют функциональные возможности Web-браузера, сервлеты динамически расширяют функциональные возможности Web-сервера.
40) Интерфейсы и классы для разработки сервлетов (интерфейс Servlet и класс GenericServlet, интерфейсы HttpServletRequest, HttpServletResponse и класс HttpServlet).
HttpServlet это абстрактный класс GenericServlet который в свою очередь реализует интерфейс Servlet. HttpServlet предназначен для написания сервлетов по типу общения клиент-сервер, а именно используя HTTP протокол.
Интерфейсы ServletRequest и HttpServletRequest: Запрос от браузера поступает серверу в виде объекта типа HttpServletRequest. Этот интерфейс наследует свойства интерфейса ServletRequest.
41) web.xml и маппинг сервлетов.
Файл web.xml хранит информацию о конфигурации приложения. Он не является обязательной частью приложения, как можно увидеть из предыдущих статей, тем не менее он широко используется для настройки конфигурации.
42) Переадресация и перенаправление запроса в сервлетах.
Перенаправление запроса: Метод forward() класса RequestDispatcher позволяет перенаправить запрос из сервлета на другой сервлет, html-страницу или страницу jsp.
Причем в данном случае речь идет о перенаправлении запроса, а не о переадресации. Для того, чтобы выполнить перенаправление запроса, вначале с помощью метода getServletContext() получаем объект ServletContext, который представляет контекст запроса.
43) Типы HTTP запросов.
HTTP (Hypertext Transfer Protocol) - протокол передачи гипертекста (веб-страниц), разработанный для осуществления коммуникаций между серверной и клиентской сторонами. HTTP работает по типу “запрос-ответ” между клиентом и сервером.
44) Понятие JSP.
JSP (JavaServer Pages) – технология, позволяющая веб-разработчикам создавать содержимое, которое имеет как статические, так и динамические компоненты. Страница JSP содержит текст, двух типов: статические исходные данные, которые могут быть оформлены в одном из текстовых форматов HTML, SVG, WML, или XML, и JSP-элементы, которые конструируют динамическое содержимое.
45) Объявления, скриптлеты и выражения в JSP.
Объявления JSP позволят вам задать методы или поля, для вставки в тело класса сервлета (вне метода service, обрабатывающего запрос). Они имеют следующую форму: <%! Код на Java %>
46) Передача данных HTML-форм. Методы get и post.
HTTP-методы GET и POST – самые распространённые способы отправить или получить данные с сервера. Но в разных случаях оба метода могут быть небезопасными или неудобными в использовании. В этой заметке рассмотрим, какой метод когда использовать. GET – метод для чтения данных с сайта. Например, для доступа к указанной странице. Он говорит серверу, что клиент хочет прочитать указанный документ. На практике этот метод используется чаще всего, например, в интернет-магазинах на странице каталога.
47) JSP директивы.
Директивы JSP воздействуют на всю структуру класса сервлета. Обычно они имеют следующую форму: <%@ директива атрибут="значение" %>
Также можете объединить установку нескольких атрибутов для одной директивы:
<%@ директива атрибут1="значение1"атрибут2="значение2"
48) JSP неявные объекты.
Неявные объекты (implicit objects) – это объекты, автоматически доступные как часть стандарта JSP без их специального объявления или импорта.
JSP-страница всегда имеет доступ ко многим функциональным возможностям сервлета, создаваемым Web-контейнером по умолчанию.
49) Библиотека тегов JSTL. core - основные теги.
JSTL (JavaServer Pages Standard Tag Library - Стандартная библиотека тегов JSP) – расширение спецификации JSP, добавляющее библиотеку JSP тегов для общих нужд и содержащее условная обработка, разбор XML данных, поддержка интернационализации и др.
50) Библиотека тегов JSTL. fomatting - теги форматирования.
JSTL (JavaServer Pages Standard Tag Library - Стандартная библиотека тегов JSP) – расширение спецификации JSP, добавляющее библиотеку JSP тегов для общих нужд и содержащее условная обработка, разбор XML данных, поддержка интернационализации и др.
51) Библиотека тегов JSTL. sql - теги для работы с SQL.
JSTL (JavaServer Pages Standard Tag Library - Стандартная библиотека тегов JSP) – расширение спецификации JSP, добавляющее библиотеку JSP тегов для общих нужд и содержащее условная обработка, разбор XML данных, поддержка интернационализации и др.
52) Библиотека тегов JSTL. xml - теги для обработки XML.
JSTL (JavaServer Pages Standard Tag Library - Стандартная библиотека тегов JSP) – расширение спецификации JSP, добавляющее библиотеку JSP тегов для общих нужд и содержащее условная обработка, разбор XML данных, поддержка интернационализации и др.
53) Понятие web-сервера. Обзор основных web-серверов.
Веб-сервер – сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, как правило, вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.
54) Контейнеры сервлетов. Контейнер Apache Tomcat.
Это программа, которая запускается на сервере и умеет взаимодействовать с созданными нами сервлетами. Иными словами, если хотим запустить наше веб-приложение на сервере, сначала разворачиваем контейнер сервлетов, а потом помещаем в него сервлеты. Схема работы проста: когда клиент обращается на сервер, контейнер обрабатывает его запрос, определяет, какой именно сервлет должен его обработать и передает его.
Работа выполнена без доработок.
Уникальность свыше 40%.
Работа оформлена в соответствии с методическими указаниями учебного заведения.
Количество страниц - 57.
Не нашли нужную
готовую работу?
готовую работу?
Оставьте заявку, мы выполним индивидуальный заказ на лучших условиях
Заказ готовой работы
Заполните форму, и мы вышлем вам на e-mail инструкцию для оплаты