HTML Diff
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>