0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Особенности Java</a></li>
1
<ul><li><a>Особенности Java</a></li>
2
<li><a>Сервер типа http - определение</a><ul><li><a>Виды серверов</a></li>
2
<li><a>Сервер типа http - определение</a><ul><li><a>Виды серверов</a></li>
3
</ul></li>
3
</ul></li>
4
<li><a>Все наготове - встроенные возможности Java</a><ul><li><a>HTTPServer</a></li>
4
<li><a>Все наготове - встроенные возможности Java</a><ul><li><a>HTTPServer</a></li>
5
<li><a>Как выполняется запрос - очередность</a><ul><li><a>О коде</a></li>
5
<li><a>Как выполняется запрос - очередность</a><ul><li><a>О коде</a></li>
6
<li><a>Handler</a></li>
6
<li><a>Handler</a></li>
7
<li><a>Запрос GET</a></li>
7
<li><a>Запрос GET</a></li>
8
<li><a>Работа с ответом</a></li>
8
<li><a>Работа с ответом</a></li>
9
</ul></li>
9
</ul></li>
10
</ul></li>
10
</ul></li>
11
<li><a>Близкое знакомство - собственный чат через WebSoket и SpringBoot на Java</a><ul><li><a>Определение WebSoket</a><ul><li><a>Как создать приложение</a></li>
11
<li><a>Близкое знакомство - собственный чат через WebSoket и SpringBoot на Java</a><ul><li><a>Определение WebSoket</a><ul><li><a>Как создать приложение</a></li>
12
<li><a>Настройка</a></li>
12
<li><a>Настройка</a></li>
13
<li><a>Модели сообщений</a></li>
13
<li><a>Модели сообщений</a></li>
14
<li><a>Контроллер сообщений</a></li>
14
<li><a>Контроллер сообщений</a></li>
15
<li><a>События и Front-End</a></li>
15
<li><a>События и Front-End</a></li>
16
<li><a>HTML и скрипты</a></li>
16
<li><a>HTML и скрипты</a></li>
17
<li><a>Стилизация</a></li>
17
<li><a>Стилизация</a></li>
18
<li><a>Запуск</a></li>
18
<li><a>Запуск</a></li>
19
</ul></li>
19
</ul></li>
20
</ul></li>
20
</ul></li>
21
</ul><p>Программирование на Java - перспективное направление у современных разработчиков. Согласно данным Google данный язык кодинга пользуется огромным спросом, несмотря на то, что был создан изначально весьма давно. А именно - в 1995 году. С тех пор Джава перетерпел много модификаций. Нынче это - один из самых перспективных языков программирования. Весьма прост в освоении, что значительно упрощает задачи, поставленные перед новичками.</p>
21
</ul><p>Программирование на Java - перспективное направление у современных разработчиков. Согласно данным Google данный язык кодинга пользуется огромным спросом, несмотря на то, что был создан изначально весьма давно. А именно - в 1995 году. С тех пор Джава перетерпел много модификаций. Нынче это - один из самых перспективных языков программирования. Весьма прост в освоении, что значительно упрощает задачи, поставленные перед новичками.</p>
22
<h2>Особенности Java</h2>
22
<h2>Особенности Java</h2>
23
<p>Google и другие поисковые системы помогут понять, что это за язык программирования. Он имеет ряд ключевых особенностей. А именно:</p>
23
<p>Google и другие поисковые системы помогут понять, что это за язык программирования. Он имеет ряд ключевых особенностей. А именно:</p>
24
<ul><li>относительно простой синтаксис;</li>
24
<ul><li>относительно простой синтаксис;</li>
25
<li>отличное комьюнити;</li>
25
<li>отличное комьюнити;</li>
26
<li>множество документации (в том числе на русском языке);</li>
26
<li>множество документации (в том числе на русском языке);</li>
27
<li>наличие ООП;</li>
27
<li>наличие ООП;</li>
28
<li>собственный движок.</li>
28
<li>собственный движок.</li>
29
</ul><p>New programs создавать при помощи данного варианта способен даже начинающий программист.</p>
29
</ul><p>New programs создавать при помощи данного варианта способен даже начинающий программист.</p>
30
<p>Основное предназначение Java - это работа с Сетью. Идеально подходит для веб-программирования. Но и "обычные" утилиты посредством соответствующего семейства пишутся без существенных затруднений.</p>
30
<p>Основное предназначение Java - это работа с Сетью. Идеально подходит для веб-программирования. Но и "обычные" утилиты посредством соответствующего семейства пишутся без существенных затруднений.</p>
31
<h2>Сервер типа http - определение</h2>
31
<h2>Сервер типа http - определение</h2>
32
<p>При работе с сетью (new или old - не так важно) компьютеры подключаются к так называемым веб-серверам. Без них невозможна работа в интернете.</p>
32
<p>При работе с сетью (new или old - не так важно) компьютеры подключаются к так называемым веб-серверам. Без них невозможна работа в интернете.</p>
33
<p>HTTP-сервер - это веб server. Имеет непосредственное отношение как к "железу" компьютера, так и к программному обеспечению:</p>
33
<p>HTTP-сервер - это веб server. Имеет непосредственное отношение как к "железу" компьютера, так и к программному обеспечению:</p>
34
<ol><li>В качестве аппаратного устройства это - new машина, которая отвечает за хранение ресурсов того или иного сайта. Включает в себя доставку на устройство юзера через интернет-обозреватели и иные утилиты. Чаще всего подключается к интернету. Доступ предоставляется через доменные имена.</li>
34
<ol><li>В качестве аппаратного устройства это - new машина, которая отвечает за хранение ресурсов того или иного сайта. Включает в себя доставку на устройство юзера через интернет-обозреватели и иные утилиты. Чаще всего подключается к интернету. Доступ предоставляется через доменные имена.</li>
35
<li>Как ПО, согласно Google, веб-сервер представляет собой некое "приложение", совмещающее в себе функционал для контроля доступа web-пользователей к размещенным на сервере документов. HTTP Sever - часть программного обеспечения, понимающая URLs и HTTP-протоколы (они нужны для просмотра и отображения страничек в Сети).</li>
35
<li>Как ПО, согласно Google, веб-сервер представляет собой некое "приложение", совмещающее в себе функционал для контроля доступа web-пользователей к размещенным на сервере документов. HTTP Sever - часть программного обеспечения, понимающая URLs и HTTP-протоколы (они нужны для просмотра и отображения страничек в Сети).</li>
36
</ol><p>Google указывает на то, что, когда браузер нуждается в каком-то файле, помещенном на веб-сервере, происходит запрос посредством http. Когда запрос доходит до нужного "железа", соответствующий сервер (программное обеспечение) осуществляет обратную передачу через упомянутый ранее "канал".</p>
36
</ol><p>Google указывает на то, что, когда браузер нуждается в каком-то файле, помещенном на веб-сервере, происходит запрос посредством http. Когда запрос доходит до нужного "железа", соответствующий сервер (программное обеспечение) осуществляет обратную передачу через упомянутый ранее "канал".</p>
37
<h3>Виды серверов</h3>
37
<h3>Виды серверов</h3>
38
<p>Если разработчик на Джаве решил создать new servers, важно понимать - для опубликования сайта требуется подобрать один из нескольких видов оных. Упомянутый элемент бывает:</p>
38
<p>Если разработчик на Джаве решил создать new servers, важно понимать - для опубликования сайта требуется подобрать один из нескольких видов оных. Упомянутый элемент бывает:</p>
39
<ol><li>Статическим (static void main). Носит название стека. Включает в себя компьютер с сервером HTTP. Последний будет посылать new файлы в интернет-обозреватель без каких-либо корректировок.</li>
39
<ol><li>Статическим (static void main). Носит название стека. Включает в себя компьютер с сервером HTTP. Последний будет посылать new файлы в интернет-обозреватель без каких-либо корректировок.</li>
40
<li>Динамическим. Включает в себя статическую "модель" и дополнительное ПО. Чаще всего - базы данные или серверные приложения. Последние будут вносить изменения в документы перед тем, как отправить их в обозреватель Сети.</li>
40
<li>Динамическим. Включает в себя статическую "модель" и дополнительное ПО. Чаще всего - базы данные или серверные приложения. Последние будут вносить изменения в документы перед тем, как отправить их в обозреватель Сети.</li>
41
</ol><p>За счет new servers можно отображать страницы в браузерах. Итоговый результат удобен и понятен пользователям без навыков в сфере программирования. Для своей работы, согласно Google, рассматриваемый элемент может задействовать шаблоны информации из БД Пример - Википедия. Это - не полноценный сайт, а HTML-шаблон. За счет соответствующего приема удается значительно ускорить сопровождение web-софта.</p>
41
</ol><p>За счет new servers можно отображать страницы в браузерах. Итоговый результат удобен и понятен пользователям без навыков в сфере программирования. Для своей работы, согласно Google, рассматриваемый элемент может задействовать шаблоны информации из БД Пример - Википедия. Это - не полноценный сайт, а HTML-шаблон. За счет соответствующего приема удается значительно ускорить сопровождение web-софта.</p>
42
<h2>Все наготове - встроенные возможности Java</h2>
42
<h2>Все наготове - встроенные возможности Java</h2>
43
<p>При помощи Google и иных поисковиков можно достаточно быстро разобраться в упомянутом элементе, задействованном при программировании. Но не каждый пользователь готов заниматься созданием полноценного сервисного контента.</p>
43
<p>При помощи Google и иных поисковиков можно достаточно быстро разобраться в упомянутом элементе, задействованном при программировании. Но не каждый пользователь готов заниматься созданием полноценного сервисного контента.</p>
44
<p>Для Джава поставленная задача не выступает в качестве тривиальной. Язык программирования содержит встроенные возможности, посредством которых new http создается без существенных затруднений. Всего 100 строчек кода - и перед разработчиком окажется весьма неплохой вариант, поддерживающий обработку запросов и иные HTTP-команд.</p>
44
<p>Для Джава поставленная задача не выступает в качестве тривиальной. Язык программирования содержит встроенные возможности, посредством которых new http создается без существенных затруднений. Всего 100 строчек кода - и перед разработчиком окажется весьма неплохой вариант, поддерживающий обработку запросов и иные HTTP-команд.</p>
45
<h3>HTTPServer</h3>
45
<h3>HTTPServer</h3>
46
<p>Серверные возможности в Джаве предоставляются через SDK. Они имеют следующие особенности:</p>
46
<p>Серверные возможности в Джаве предоставляются через SDK. Они имеют следующие особенности:</p>
47
<ul><li>название - HttpServer;</li>
47
<ul><li>название - HttpServer;</li>
48
<li>пакетный класс - com.sun.net;</li>
48
<li>пакетный класс - com.sun.net;</li>
49
<li>запись: httpServer server = httpServer.create (new InetSocketAddress(“localhost”, 8001), 0));.</li>
49
<li>запись: httpServer server = httpServer.create (new InetSocketAddress(“localhost”, 8001), 0));.</li>
50
</ul><p>Приведенный пример - это создание экземпляра в пределах локального узла. Номер порта - 8001. Аргумент 0 здесь выступает для организации так называемой обратной регистрации.</p>
50
</ul><p>Приведенный пример - это создание экземпляра в пределах локального узла. Номер порта - 8001. Аргумент 0 здесь выступает для организации так называемой обратной регистрации.</p>
51
<h3>Как выполняется запрос - очередность</h3>
51
<h3>Как выполняется запрос - очередность</h3>
52
<p>Если рассматриваемый элемент работает исправно, он будет отправлять и получать разнообразные команды-запросы. В Google по этому поводу очень много информации. Новички в ней рискуют запутаться.</p>
52
<p>Если рассматриваемый элемент работает исправно, он будет отправлять и получать разнообразные команды-запросы. В Google по этому поводу очень много информации. Новички в ней рискуют запутаться.</p>
53
<p>Чтобы понимать принципы работы серверных возможностей Джавы, стоит уяснить, какой очередности подчиняется обработка посланного запроса:</p>
53
<p>Чтобы понимать принципы работы серверных возможностей Джавы, стоит уяснить, какой очередности подчиняется обработка посланного запроса:</p>
54
<ol><li>Клиент формирует запрос. Происходит его отправка.</li>
54
<ol><li>Клиент формирует запрос. Происходит его отправка.</li>
55
<li>Ставится очередь операционной системы.</li>
55
<li>Ставится очередь операционной системы.</li>
56
<li>Происходит передача на сервер для дальнейшей обработки.</li>
56
<li>Происходит передача на сервер для дальнейшей обработки.</li>
57
<li>Одновременные запросы ставятся в очередь. Их количество определяется ОС автоматически.</li>
57
<li>Одновременные запросы ставятся в очередь. Их количество определяется ОС автоматически.</li>
58
</ol><p>Важно: предложенный пример не требует отправлять в очередь никаких "команд", так как имеет значение аргумента, равное нулю.</p>
58
</ol><p>Важно: предложенный пример не требует отправлять в очередь никаких "команд", так как имеет значение аргумента, равное нулю.</p>
59
<h4>О коде</h4>
59
<h4>О коде</h4>
60
<p>Вот пример, который поможет лучше разобрать в изучаемой сфере даже без Google:</p>
60
<p>Вот пример, который поможет лучше разобрать в изучаемой сфере даже без Google:</p>
61
<p>Здесь происходит создание контекста test. Он выступает корнем контекста утилиты. Второй параметр - экземпляр так называемого обработчика. Он будет работать с HTTP-командами.</p>
61
<p>Здесь происходит создание контекста test. Он выступает корнем контекста утилиты. Второй параметр - экземпляр так называемого обработчика. Он будет работать с HTTP-командами.</p>
62
<p>Теперь допускается применение потокового пула. В приведенном примере их 10 штук:</p>
62
<p>Теперь допускается применение потокового пула. В приведенном примере их 10 штук:</p>
63
<p>New Thread PoolExecutor ThreadPoolExecutor = (ThreadPoolExecutor)Executors.newFixedThreadPool(10);</p>
63
<p>New Thread PoolExecutor ThreadPoolExecutor = (ThreadPoolExecutor)Executors.newFixedThreadPool(10);</p>
64
<p>Далее new server требует запуска. Операция осуществляется путем задействования кода: server.start();.</p>
64
<p>Далее new server требует запуска. Операция осуществляется путем задействования кода: server.start();.</p>
65
<h4>Handler</h4>
65
<h4>Handler</h4>
66
<p>А вот интерфейс согласно данным Google, использующий метод handle():</p>
66
<p>А вот интерфейс согласно данным Google, использующий метод handle():</p>
67
<p>Внимание: в приведенном примере вышедший за рамки изображения код имеет вид private void (может быть и public static void) handleResponse(HttpExchange httpExchange, String requestParamValue) throws IOException {</p>
67
<p>Внимание: в приведенном примере вышедший за рамки изображения код имеет вид private void (может быть и public static void) handleResponse(HttpExchange httpExchange, String requestParamValue) throws IOException {</p>
68
<p><strong> </strong><strong>OutputStream</strong><strong></strong><strong>outputStream</strong><strong>=</strong><strong>httpExchange</strong><strong>.</strong><strong>getResponseBody</strong><strong>();</strong></p>
68
<p><strong> </strong><strong>OutputStream</strong><strong></strong><strong>outputStream</strong><strong>=</strong><strong>httpExchange</strong><strong>.</strong><strong>getResponseBody</strong><strong>();</strong></p>
69
<p><strong> </strong><strong>StringBuilder</strong><strong></strong><strong>htmlBuilder</strong><strong>=</strong><strong>new</strong><strong></strong><strong>StringBuilder</strong><strong>();</strong></p>
69
<p><strong> </strong><strong>StringBuilder</strong><strong></strong><strong>htmlBuilder</strong><strong>=</strong><strong>new</strong><strong></strong><strong>StringBuilder</strong><strong>();</strong></p>
70
<p>Кодификация обрабатывает запрос, затем отправляет ответ непосредственно клиенту. Обработка осуществляется через класс HttpExchange.</p>
70
<p>Кодификация обрабатывает запрос, затем отправляет ответ непосредственно клиенту. Обработка осуществляется через класс HttpExchange.</p>
71
<h4>Запрос GET</h4>
71
<h4>Запрос GET</h4>
72
<p>Об обработке запроса Get необходимо знать следующее:</p>
72
<p>Об обработке запроса Get необходимо знать следующее:</p>
73
<ul><li>написавшие его будут использовать метод HandleGETRequest;</li>
73
<ul><li>написавшие его будут использовать метод HandleGETRequest;</li>
74
<li>далее происходит вызов getRequestURL(), который принадлежит классу HttpExchange.</li>
74
<li>далее происходит вызов getRequestURL(), который принадлежит классу HttpExchange.</li>
75
</ul><p>Несмотря на то, что это - минимум, обрабатывающий единичный запрос, он поможет справиться с самыми разными задачами.</p>
75
</ul><p>Несмотря на то, что это - минимум, обрабатывающий единичный запрос, он поможет справиться с самыми разными задачами.</p>
76
<h4>Работа с ответом</h4>
76
<h4>Работа с ответом</h4>
77
<p>После того, как произошел поиск ответа, его нужно направить клиенту. Делается это через handleResponse(). Пользователь получит выходной поток через обращение к методу gerResponseBody(). Чуть позже удастся записать информацию из HTML в выходные потоки.</p>
77
<p>После того, как произошел поиск ответа, его нужно направить клиенту. Делается это через handleResponse(). Пользователь получит выходной поток через обращение к методу gerResponseBody(). Чуть позже удастся записать информацию из HTML в выходные потоки.</p>
78
<p>Response header - это крайне важный момент. Если он будет упущен, в обозревателе Сети юзер увидит ошибку ERR_Empty_Response. В случае, когда все хорошо, браузер покажет тот или иной ответ.</p>
78
<p>Response header - это крайне важный момент. Если он будет упущен, в обозревателе Сети юзер увидит ошибку ERR_Empty_Response. В случае, когда все хорошо, браузер покажет тот или иной ответ.</p>
79
<h2>Близкое знакомство - собственный чат через WebSoket и SpringBoot на Java</h2>
79
<h2>Близкое знакомство - собственный чат через WebSoket и SpringBoot на Java</h2>
80
<p>Сегодня трудно представить юзера, который не умел бы работать в интернете. Здесь не только отдыхают, но и отправляют сообщения, трудятся, создают что-то полезное. Коммуникации помогает поддерживать так называемый чат. И это - элементарный серверный пример.</p>
80
<p>Сегодня трудно представить юзера, который не умел бы работать в интернете. Здесь не только отдыхают, но и отправляют сообщения, трудятся, создают что-то полезное. Коммуникации помогает поддерживать так называемый чат. И это - элементарный серверный пример.</p>
81
<p>В Google можно отыскать немало new идей относительно того, как создать собственный chat. При определенной сноровке соответствующий ресурс будет действительно уникальным: со смайликами, эмодзи, анимацией и другими элементами.</p>
81
<p>В Google можно отыскать немало new идей относительно того, как создать собственный chat. При определенной сноровке соответствующий ресурс будет действительно уникальным: со смайликами, эмодзи, анимацией и другими элементами.</p>
82
<p>Для написания подобного контента в Java можно использовать:</p>
82
<p>Для написания подобного контента в Java можно использовать:</p>
83
<ul><li>WebSoket;</li>
83
<ul><li>WebSoket;</li>
84
<li>SpringBoot.</li>
84
<li>SpringBoot.</li>
85
</ul><p>При помощи соответствующих элементов даже новичок сможет без труда разобраться с поставленной задачей. Ему не придется долго изучать Google, а также "непонятные" элементы кода (типа ioexception e, public void run, override public и так далее - на первых порах в них можно запутаться).</p>
85
</ul><p>При помощи соответствующих элементов даже новичок сможет без труда разобраться с поставленной задачей. Ему не придется долго изучать Google, а также "непонятные" элементы кода (типа ioexception e, public void run, override public и так далее - на первых порах в них можно запутаться).</p>
86
<h3>Определение WebSoket</h3>
86
<h3>Определение WebSoket</h3>
87
<p>WebSoket - это протокол, при помощи которого осуществляется установка двусторонней связи клиент-сервер. Переключение, как говорит Google, происходит после специального http-запроса. Его формирует и отправляет клиент: Upgrade: websocket.</p>
87
<p>WebSoket - это протокол, при помощи которого осуществляется установка двусторонней связи клиент-сервер. Переключение, как говорит Google, происходит после специального http-запроса. Его формирует и отправляет клиент: Upgrade: websocket.</p>
88
<p>При поддержке вебсокетов будет получен ответ "Yes". Далее произойдет общение через new протоколы WebSocket. С HTTP оный не имеет ничего общего.</p>
88
<p>При поддержке вебсокетов будет получен ответ "Yes". Далее произойдет общение через new протоколы WebSocket. С HTTP оный не имеет ничего общего.</p>
89
<h4>Как создать приложение</h4>
89
<h4>Как создать приложение</h4>
90
<p>Для того, чтобы сделать new application, можно прибегнуть к работе с сайтом-инициализатором. В этом случае алгоритм действий будет следующим:</p>
90
<p>Для того, чтобы сделать new application, можно прибегнуть к работе с сайтом-инициализатором. В этом случае алгоритм действий будет следующим:</p>
91
<ol><li>Зайти на<a>страницу</a>.</li>
91
<ol><li>Зайти на<a>страницу</a>.</li>
92
<li>Выбрать в списке Spring Boot 2.</li>
92
<li>Выбрать в списке Spring Boot 2.</li>
93
<li>Указать имя группы и артефакта проекта.</li>
93
<li>Указать имя группы и артефакта проекта.</li>
94
<li>Активировать зависимость "вебсокета".</li>
94
<li>Активировать зависимость "вебсокета".</li>
95
<li>Провести генерацию new project.</li>
95
<li>Провести генерацию new project.</li>
96
</ol><p>Далее предстоит разархивировать проект, а также сделать import java в редактор. Именем утилиты будет - Maven. Дополнительно необходимо создать пакеты config, controller и model.</p>
96
</ol><p>Далее предстоит разархивировать проект, а также сделать import java в редактор. Именем утилиты будет - Maven. Дополнительно необходимо создать пакеты config, controller и model.</p>
97
<h4>Настройка</h4>
97
<h4>Настройка</h4>
98
<p>Теперь предстоит работать с public class, а также с такими элементами как static final int и private static. Ведь самое простое позади - далее требуется провести настройку "вебсокета".</p>
98
<p>Теперь предстоит работать с public class, а также с такими элементами как static final int и private static. Ведь самое простое позади - далее требуется провести настройку "вебсокета".</p>
99
<p>Начинается процесс с конечной точки и брокера сообщений. Проводится операция в config. Класс конфигурации будет иметь следующий вид:</p>
99
<p>Начинается процесс с конечной точки и брокера сообщений. Проводится операция в config. Класс конфигурации будет иметь следующий вид:</p>
100
<p>Здесь:</p>
100
<p>Здесь:</p>
101
<ul><li>аннотация @configuration - устанавливается обязательно в классе конфигурации Spring;</li>
101
<ul><li>аннотация @configuration - устанавливается обязательно в классе конфигурации Spring;</li>
102
<li>аннотация @EnableWebSocketMessageBroker - активирует new WebsokcketServer;</li>
102
<li>аннотация @EnableWebSocketMessageBroker - активирует new WebsokcketServer;</li>
103
<li>метод registerStompEndpoints() - отвечает за регистрацию конечной точки, которую клиенты задействуют для подключения к серверу;</li>
103
<li>метод registerStompEndpoints() - отвечает за регистрацию конечной точки, которую клиенты задействуют для подключения к серверу;</li>
104
<li>configMessageBroker() - настройка брокера для отправки сообщений между клиентами.</li>
104
<li>configMessageBroker() - настройка брокера для отправки сообщений между клиентами.</li>
105
</ul><p>В рассматриваемом примере задействован встроенный брокер. Это самый простой вариант.</p>
105
</ul><p>В рассматриваемом примере задействован встроенный брокер. Это самый простой вариант.</p>
106
<h4>Модели сообщений</h4>
106
<h4>Модели сообщений</h4>
107
<p>Следующие исходники - это настройка моделей сообщений. Создается пакет model, в котором после размещается класс ChatMessage:</p>
107
<p>Следующие исходники - это настройка моделей сообщений. Создается пакет model, в котором после размещается класс ChatMessage:</p>
108
<p>Соответствующий фрагмент кода еще не позволит отправлять текст друг другу. Для реализации поставленной задачи предстоит выполнить иные действия.</p>
108
<p>Соответствующий фрагмент кода еще не позволит отправлять текст друг другу. Для реализации поставленной задачи предстоит выполнить иные действия.</p>
109
<h4>Контроллер сообщений</h4>
109
<h4>Контроллер сообщений</h4>
110
<p>Google поможет разобраться в том, как создавать собственные чаты. Чтобы в них можно было отправлять сообщения и получать оные, стоит:</p>
110
<p>Google поможет разобраться в том, как создавать собственные чаты. Чтобы в них можно было отправлять сообщения и получать оные, стоит:</p>
111
<ul><li>сделать пакет controller;</li>
111
<ul><li>сделать пакет controller;</li>
112
<li>разместить внутри класс chatController;</li>
112
<li>разместить внутри класс chatController;</li>
113
<li>внутри ЧатКонтроллер присутствуют методы, которые отвечают за доставку сообщений от одного пользователя и трансляцию всем остальным.</li>
113
<li>внутри ЧатКонтроллер присутствуют методы, которые отвечают за доставку сообщений от одного пользователя и трансляцию всем остальным.</li>
114
</ul><p>Для настройки контроллера используется следующая кодификация:</p>
114
</ul><p>Для настройки контроллера используется следующая кодификация:</p>
115
<h4>События и Front-End</h4>
115
<h4>События и Front-End</h4>
116
<p>Немаловажно настроить события подключение/отключение. Это необходимо для передачи сообщений на всеобщее обозрение:</p>
116
<p>Немаловажно настроить события подключение/отключение. Это необходимо для передачи сообщений на всеобщее обозрение:</p>
117
<p>Статистика - тоже немаловажный нюанс. If юзер хочет получить полноценный чат, ему предстоит выйти за пределы Джавы.</p>
117
<p>Статистика - тоже немаловажный нюанс. If юзер хочет получить полноценный чат, ему предстоит выйти за пределы Джавы.</p>
118
<p>Чтобы справиться с поставленной задачей требуется:</p>
118
<p>Чтобы справиться с поставленной задачей требуется:</p>
119
<ul><li>сделать папку static;</li>
119
<ul><li>сделать папку static;</li>
120
<li>расположить ее по пути scr/main/resources.</li>
120
<li>расположить ее по пути scr/main/resources.</li>
121
</ul><p>Выглядеть это будет так:</p>
121
</ul><p>Выглядеть это будет так:</p>
122
<h4>HTML и скрипты</h4>
122
<h4>HTML и скрипты</h4>
123
<p>В Google также говорится о том, что для работы полноценного чата требуется создать HTML-файл и JavaScript.</p>
123
<p>В Google также говорится о том, что для работы полноценного чата требуется создать HTML-файл и JavaScript.</p>
124
<p>В первом случае используется new запись:</p>
124
<p>В первом случае используется new запись:</p>
125
<p>Скрипт Джавы требуется для соединения с итоговой точкой, а также отправки/получения сообщений. Он будет иметь имя main.js:</p>
125
<p>Скрипт Джавы требуется для соединения с итоговой точкой, а также отправки/получения сообщений. Он будет иметь имя main.js:</p>
126
<h4>Стилизация</h4>
126
<h4>Стилизация</h4>
127
<p>Исходники CSS можно создавать самостоятельно или подключать уже готовые варианты. Данная "опция" отвечает за внешний вид программы.</p>
127
<p>Исходники CSS можно создавать самостоятельно или подключать уже готовые варианты. Данная "опция" отвечает за внешний вид программы.</p>
128
<p><a>Здесь</a>можно найти исходники соответствующего кода (пункт 7).</p>
128
<p><a>Здесь</a>можно найти исходники соответствующего кода (пункт 7).</p>
129
<h4>Запуск</h4>
129
<h4>Запуск</h4>
130
<p>Все, что теперь остается - это проверить Spring через Boot-файл с функцией main в корне иерархии имеющихся папок.</p>
130
<p>Все, что теперь остается - это проверить Spring через Boot-файл с функцией main в корне иерархии имеющихся папок.</p>
131
<p>После запуска веб-сервера требуется перейти по<a>адресу</a>и пользоваться созданным контентом.</p>
131
<p>После запуска веб-сервера требуется перейти по<a>адресу</a>и пользоваться созданным контентом.</p>
132
<p>Для того, чтобы лучше разбираться в соответствующей сфере и термины int port, close и иные составляющие Джавы не были чем-то непонятным, стоит закончить специализированные курсы. Они без Google помогут освоить Java, а также всего его тонкости.</p>
132
<p>Для того, чтобы лучше разбираться в соответствующей сфере и термины int port, close и иные составляющие Джавы не были чем-то непонятным, стоит закончить специализированные курсы. Они без Google помогут освоить Java, а также всего его тонкости.</p>
133
<a></a>
133
<a></a>