dir.by  
Программирование, разработка, тестирование
Java
Spring в Java (Spring Framework, Spring Data, Spring Boot, ...)
Создаем новое Spring WebSocket приложение (Java WebSocket шлет сообщение к JavaScript WebSocket) | Java, Spring WebSocket, Spring Boot, Maven
  Посмотрели 1640 раз(а)    
 Создаем новое Spring WebSocket приложение (Java WebSocket шлет сообщение к JavaScript WebSocket) | Java, Spring WebSocket, Spring Boot, Maven 
последнее обновление: 20 апреля 2025
Скачать пример:
MySpringWebSocket.zip ...
размер: 22 kb
 
На заметку! У вас должна быть установлена Java JDK. Если у вас ее нет то нужно скачать и установить Java JDK ...

На заметку! У вас должна быть установлена IntelliJ IDEA Ultimate. Если у вас ее нет то нужно скачать и установить IntelliJ IDEA Ultimate ...

На заметку! У вас должна быть установлен Tomcat Web Server. Если у вас это нет то нужно скачать и установить Tomcat Web Server ...
Шаг 1. Cоздаем новый проект с типом Spring Boot
 
Выбираем Spring Boots:
 
Так как у нас простой проект, то галочки не ставим:
 
Проект создался:
Шаг 2. Добавим библиотеки spring-boot-starter-web и spring-websocket в pom.xml файл

spring-boot-starter-web необходима для запуска нашего приложения в качестве веб-сервера.
spring-websocket библиотека с функциями веб-сокета.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-parent</artifactId>
          <version>3.4.4</version>
          <relativePath/> <!-- lookup parent from repository -->
     </parent>
     <groupId>org.example</groupId>
     <artifactId>MySpringWebSocket</artifactId>
     <version>0.0.1-SNAPSHOT</version>
     <name>MySpringWebSocket</name>
     <description>MySpringWebSocket</description>
     <url/>
     <licenses>
          <license/>
     </licenses>
     <developers>
          <developer/>
     </developers>
     <scm>
          <connection/>
          <developerConnection/>
          <tag/>
          <url/>
     </scm>
     <properties>
          <java.version>17</java.version>
     </properties>
     <dependencies>
          <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter</artifactId>
          </dependency>

          <!-- web starter -->
          <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-web</artifactId>
          </dependency>


          <!-- web socket -->
          <dependency>
               <groupId>org.springframework</groupId>
               <artifactId>spring-websocket</artifactId>
          </dependency>


          <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-test</artifactId>
               <scope>test</scope>
          </dependency>
     </dependencies>

     <build>
          <plugins>
               <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
               </plugin>
          </plugins>
     </build>

</project>
Внимание!
Если не установлен plugin Spring-Websocket, то нужно установить Spring-Websocket plugin в Intellij Idea ...



Шаг 3. Создаем новый MyWebSocketHandler.java файл
Нажимаем правой клавишей мыши на папку моего пакета и создаем новый java файл
 
Напишем название MyWebSocketHandler
И выберем тип Class
Нажмем кнопку ввод
Файл создался.
 
Внутри файла MyWebSocketHandler.java добавим код:
  Java  
package org.example.myspringwebsocket;

import java.io.IOException;
import org.springframework.stereotype.Component;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.handler.TextWebSocketHandler;

@Component
public class MyWebSocketHandler extends TextWebSocketHandler {

     @Override
     public void handleTextMessage(WebSocketSession session, TextMessage message)
               throws InterruptedException, IOException {

          String payload = message.getPayload();
          session.sendMessage(new TextMessage("Today weather is good"));
     }
}
Шаг 4. Создаем новый MyWebSocketConfig.java файл
Нажимаем правой клавишей мыши на папку моего пакета и создаем новый java файл
 
Напишем название MyWebSocketConfig
И выберем тип Class
Нажмем кнопку ввод
Файл создался.
 
Внутри файла MyWebSocketConfig.java добавим код:
package org.example.myspringwebsocket;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;

@Configuration
@EnableWebSocket
public class MyWebSocketConfig implements WebSocketConfigurer {

     public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
          registry.addHandler(new MyWebSocketHandler(), "/mysocket1").setAllowedOrigins("*");
     }

}
Шаг 5. Запускаем проект и увидим как работает
 
Видим что наше приложение запускается:
1) Spring Boot инициализируется при запуске нашего приложения (потому что мы создавали наше приложение с типом Spring Boot)
2) дальше запускается Tomcat web сервер с портом 8080 (потому что в файл pom.xml добавили <dependency> ... spring-boot-starter-web ... </dependency>)
 
Наш web сервер работает вот его адрес:
http://localhost:8080

Так как мы запустили программу то web server создал web socket.
Чтобы проверить создадим у себя на диске новый файл D:/1.html
  Html  
<script>
     webSocket = new WebSocket('ws://localhost:8080/mysocket1'); // connect to server

     webSocket.onopen = function(event) {
          alert("Connection open");

          webSocket.send("My name is Evgen"); // send message to server
     };

     webSocket.onmessage = function(event) {
          alert("message from server: " + event.data); // message from server
     };
</script>
Запустим этот файл 1.html и увидим:
 
← Предыдущая тема
Создаем новое Spring Web приложение (запрос идет в Controller → Controller создает ответ как текст или json) | Java, Spring Web, Spring Boot, Maven
 
Следующая тема →
Создаем Azure Web App с типом Java (бесплатно). То есть создаем пустой web server
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

Экскурсии по Москве Экскурсии по Москве: пешеходные, автобусные и речные прогулки на любой вкус
  Объявления  
  Объявления  
 
Скачать и установить
Установка JDK (скачиваем и устанавливаем библиотеку Java для Windows)
Скачать и установить IntelliJ IDEA для изучения Java, Spring, Jakarta EE | Функциональность и отличия: Community | Ultimate
Изучаем язык Java (class, interface, свойства и т.д.)
Создание простого консольного приложения в IntelliJ IDEA для изучения Java
Что такое interface в Java ?
Прямо в коде (во время выполнения) делаем имплементацию для interface | Java
Потоки в Java
lambda это безымянный метод (нет имени и не принадлежит классу) | Java
Исключения и обработка в Java. Пример: try {...} catch (Exception e) {...}
Зачем использовать throws Exception в названии функциии в Java ? Ответ: метод создает исключение и нет обработки try catch. Пример: float CalculateDensity(float mass, float volume) throws Exception { ... throw new Exception("Error! Volume is zero."); ... }
Java web приложение (сервлет, jsp страница, основная функциональность и без фрэймворков)
Создаем новое простое web приложение (jsp web страница) | Java, Maven
Создаем web сервлет (сервлет находится на веб-сервере, по запросу возвращает результат) | Java
Установка Tomcat web server (скачиваем и устанавливаем для Windows)
Проверяем, тестируем Tomcat web server (создаем новый my.hml файл)
Что такое Maven
Что такое динамическая web страница jsp (Java Server Page) ?
Как инсталировать Smart Tomcat plugin в Intellij Idea
Ошибка "The SDK is not specified for module ... | Project SDK is not defined ..." в IntelliJ IDEA | Java
Spring в Java (Spring Framework, Spring Data, Spring Boot, ...)
Что такое Spring? Зачем в Java использовать Spring?
Что такое Spring Bean? Что такое Spring Container? IoC (inversion of control) | Создание простого Spring проекта и конфигурациия Spring Container в XML файле | Редактор IntelliJ Idea и язык Java
Что такое Dependency Injection в Spring? Создание простого Spring проекта с Dependency Injection в конструкторе с атрибутами @Component, @Autowired | Редактор IntelliJ Idea и язык Java
Создаем новое Spring Web приложение (запрос идет в Controller → Controller создает ответ как текст или json) | Java, Spring Web, Spring Boot, Maven
Создаем новое Spring WebSocket приложение (Java WebSocket шлет сообщение к JavaScript WebSocket) | Java, Spring WebSocket, Spring Boot, Maven
Создаем Azure Web App с типом Java (бесплатно). То есть создаем пустой web server
Java Spring web приложение кладем в Azure
К приложению Azure Web App (Java) соединяемся через FTP | используем File Explorer
Ошибка "The SDK is not specified for module ... | Project SDK is not defined ..." в IntelliJ IDEA | Java, Spring Boot
Как инсталировать Spring WebSocket plugin в Intellij Idea
Jakarta EE / Java EE в Java (web приложения, web сервисы)
Что такое Jakarta EE (Java EE) ? | В каком редакторе (программе) удобно писать Jakarta EE (Java EE) код?
Создание простого web-проекта в IntelliJ Idea Ultimate | Jakarta EE (Java EE)
Struts на Java (расширяет API Java Servlet используя MVC)
Что такое Struts | Java
Собеседования на Java

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика