Rumah Java javaTutorial Cara menggunakan Java untuk menulis fungsi dalam talian masa nyata pengguna sistem CMS

Cara menggunakan Java untuk menulis fungsi dalam talian masa nyata pengguna sistem CMS

Aug 25, 2023 pm 08:48 PM
sistem cms pengaturcaraan java Pengguna berada dalam talian dalam masa nyata

Cara menggunakan Java untuk menulis fungsi dalam talian masa nyata pengguna sistem CMS

Cara menulis fungsi dalam talian masa nyata pengguna sistem CMS menggunakan Java

Dengan perkembangan pesat Internet, sistem pengurusan kandungan (CMS) telah menjadi teras kepada banyak laman web dan aplikasi. Untuk memberikan pengalaman pengguna yang lebih baik, fungsi dalam talian masa nyata adalah komponen penting. Artikel ini akan memperkenalkan cara menggunakan Java untuk menulis fungsi dalam talian masa nyata pengguna sistem CMS dan memberikan contoh kod.

1. Perkenalkan dependencies

Pertama, tambahkan dependensi berikut dalam fail pom.xml projek Java:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-websocket</artifactId>
    </dependency>
</dependencies>
Salin selepas log masuk

Ini akan memperkenalkan sokongan WebSocket Spring Boot.

2. Konfigurasikan WebSocket

Tambah konfigurasi berikut dalam fail konfigurasi Spring Boot (seperti application.properties):

# WebSocket配置
spring.mvc.websocket.enabled=true
spring.messages.suffix=message
Salin selepas log masuk

Ini akan membolehkan fungsi WebSocket dan mengkonfigurasi akhiran mesej kepada "message".

3. Cipta pemproses WebSocket

Buat pemproses WebSocket untuk mengendalikan sambungan dan mesej WebSocket daripada pelanggan. Ini boleh dicapai dengan menulis kelas yang melaksanakan antara muka WebSocketHandler.

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import org.springframework.stereotype.Component;
import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.WebSocketMessage;
import org.springframework.web.socket.WebSocketSession;

@Component
public class CMSWebSocketHandler implements WebSocketHandler {

    private static final Map<String, WebSocketSession> SESSIONS = new HashMap<>();

    // 连接建立时触发
    @Override
    public void afterConnectionEstablished(WebSocketSession session) throws Exception {
        SESSIONS.put(session.getId(), session);
    }

    // 收到消息时触发(此处假设消息为用户ID)
    @Override
    public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception {
        String userId = message.getPayload().toString();
        // 处理用户上线逻辑
        // ...
    }

    // 连接关闭时触发
    @Override
    public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
        SESSIONS.remove(session.getId());
    }

    // 发生错误时触发
    @Override
    public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception {
        // 处理错误逻辑
        // ...
    }
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan Peta statik untuk menyimpan semua sesi WebSocket yang disambungkan. Apabila sambungan diwujudkan, sesi ditambahkan pada Peta apabila sambungan ditutup, ia dialih keluar daripada Peta. Dengan mengatasi kaedah handleMessage, mesej yang diterima daripada klien boleh diproses.

4. Konfigurasikan pemproses WebSocket

Dalam kelas konfigurasi Spring Boot, konfigurasikan pemproses WebSocket:

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 WebSocketConfig implements WebSocketConfigurer {

    private final CMSWebSocketHandler cmsWebSocketHandler;

    public WebSocketConfig(CMSWebSocketHandler cmsWebSocketHandler) {
        this.cmsWebSocketHandler = cmsWebSocketHandler;
    }

    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(cmsWebSocketHandler, "/ws").setAllowedOrigins("*");
    }
}
Salin selepas log masuk

Dalam kod di atas, kami mendaftarkan pemproses WebSocket sebagai pengendali WebSocket dan memetakannya ke laluan "/ws". Benarkan sambungan WebSocket dari mana-mana asal dengan menetapkan setAllowedOrigins("*").

5. Penyepaduan bahagian hadapan

Di halaman hujung hadapan, gunakan JavaScript atau teknologi lain yang berkaitan untuk mewujudkan sambungan dengan bahagian belakang melalui WebSocket dan lulus ID pengguna.

const socket = new WebSocket("ws://localhost:8080/ws");
const userId = "12345";
socket.onopen = () => {
    socket.send(userId);
};

socket.onclose = () => {
    // 连接关闭逻辑
};
Salin selepas log masuk

Seperti yang ditunjukkan dalam kod di atas, apabila sambungan WebSocket diwujudkan, ID pengguna dihantar melalui socket.send(userId).

6. Pelaksanaan fungsi dalam talian masa nyata

Dalam sistem CMS, fungsi dalam talian masa nyata boleh direalisasikan melalui kaedah afterConnectionEstablished dan afterConnectionClosed dalam pemproses WebSocket.

// 连接建立时触发
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
    SESSIONS.put(session.getId(), session);
    // 用户上线逻辑
    String userId = getUserIdFromSession(session);
    // 处理用户上线逻辑
}

// 连接关闭时触发
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
    SESSIONS.remove(session.getId());
    // 用户下线逻辑
    String userId = getUserIdFromSession(session);
    // 处理用户下线逻辑
}

// 辅助方法:从会话中获取用户ID
private String getUserIdFromSession(WebSocketSession session) {
    Map<String, Object> attributes = session.getAttributes();
    // 从attributes中获取用户ID
    // ...
}
Salin selepas log masuk

Apabila sambungan pengguna diwujudkan, masukkan sesi ke dalam Peta SESI, dapatkan ID pengguna daripada sesi dan lakukan pemprosesan logik dalam talian pengguna yang sepadan. Apabila sambungan pengguna ditutup, sesi dialih keluar daripada Peta SESSIONS dan logik luar talian pengguna yang sepadan diproses.

7. Ringkasan

Artikel ini memperkenalkan cara menggunakan Java untuk menulis fungsi dalam talian masa nyata pengguna sistem CMS. Dengan memperkenalkan kebergantungan, mengkonfigurasi WebSocket, mencipta pemproses WebSocket dan penyepaduan bahagian hadapan, kami boleh merealisasikan fungsi dalam talian masa nyata pengguna dan melaksanakan pemprosesan yang sepadan. Dalam aplikasi sebenar, pengembangan dan pengoptimuman fungsi selanjutnya boleh dijalankan mengikut keperluan sebenar.

Di atas adalah pengenalan tentang cara menggunakan Java untuk menulis fungsi dalam talian masa nyata pengguna sistem CMS saya harap ia akan membantu anda.

Atas ialah kandungan terperinci Cara menggunakan Java untuk menulis fungsi dalam talian masa nyata pengguna sistem CMS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menulis penjana laporan prestasi pelajar yang mudah menggunakan Java? Bagaimana untuk menulis penjana laporan prestasi pelajar yang mudah menggunakan Java? Nov 03, 2023 pm 02:57 PM

Bagaimana untuk menulis penjana laporan prestasi pelajar yang mudah menggunakan Java? Penjana Laporan Prestasi Pelajar ialah alat yang membantu guru atau pendidik menjana laporan prestasi pelajar dengan cepat. Artikel ini akan memperkenalkan cara menggunakan Java untuk menulis penjana laporan prestasi pelajar yang mudah. Pertama, kita perlu menentukan objek pelajar dan objek gred pelajar. Objek pelajar mengandungi maklumat asas seperti nama pelajar dan nombor pelajar, manakala objek skor pelajar mengandungi maklumat seperti skor mata pelajaran pelajar dan gred purata. Berikut ialah definisi objek pelajar mudah: awam

Cara menggunakan Java untuk melaksanakan fungsi semakan kandungan sistem CMS Cara menggunakan Java untuk melaksanakan fungsi semakan kandungan sistem CMS Aug 26, 2023 pm 12:51 PM

Cara menggunakan Java untuk melaksanakan fungsi audit kandungan sistem CMS Dengan perkembangan pesat Internet, sistem pengurusan kandungan (CMS) memainkan peranan penting dalam pembangunan laman web dan aplikasi. Untuk memastikan kualiti dan keselamatan kandungan laman web atau aplikasi, semakan kandungan telah menjadi fungsi yang sangat diperlukan. Artikel ini akan memperkenalkan cara menggunakan Java untuk melaksanakan fungsi semakan kandungan sistem CMS dan menyediakan contoh kod yang sepadan. Memahami Keperluan untuk Penyederhanaan Kandungan Sebelum kita mula menulis kod, kita perlu terlebih dahulu memahami keperluan untuk penyederhanaan kandungan. Secara umumnya, penyederhanaan kandungan boleh

Bagaimana untuk menulis sistem pengurusan kehadiran pelajar yang mudah menggunakan Java? Bagaimana untuk menulis sistem pengurusan kehadiran pelajar yang mudah menggunakan Java? Nov 02, 2023 pm 03:17 PM

Bagaimana untuk menulis sistem pengurusan kehadiran pelajar yang mudah menggunakan Java? Dengan perkembangan teknologi yang berterusan, sistem pengurusan sekolah juga sentiasa dikemas kini dan dinaik taraf. Sistem pengurusan kehadiran pelajar adalah bahagian penting daripadanya. Ia boleh membantu sekolah mengesan kehadiran pelajar dan menyediakan analisis data dan laporan. Artikel ini akan memperkenalkan cara menulis sistem pengurusan kehadiran pelajar yang mudah menggunakan Java. 1. Analisis Keperluan Sebelum mula menulis, kita perlu menentukan fungsi dan keperluan sistem. Fungsi asas termasuk pendaftaran dan pengurusan maklumat pelajar, merekod data kehadiran pelajar dan

Cara menggunakan Java untuk melaksanakan fungsi bentuk tersuai sistem CMS Cara menggunakan Java untuk melaksanakan fungsi bentuk tersuai sistem CMS Aug 09, 2023 am 08:29 AM

Cara menggunakan Java untuk melaksanakan fungsi bentuk tersuai sistem CMS Ringkasan: Dengan perkembangan teknologi maklumat, sistem pengurusan kandungan (CMS) telah menjadi bahagian penting dalam pembinaan laman web. Fungsi borang tersuai ialah fungsi penting dalam sistem CMS, yang boleh merealisasikan pengumpulan dan paparan data pada halaman yang ditentukan pengguna. Artikel ini akan memperkenalkan cara menggunakan Java untuk menulis kod untuk melaksanakan fungsi bentuk tersuai sistem CMS dan menyediakan contoh kod yang berkaitan untuk rujukan pembaca. 1. Gambaran Keseluruhan Fungsi borang tersuai adalah bahagian penting dalam sistem CMS

ChatGPT Java: Bagaimana untuk membina sistem pengesyoran muzik pintar ChatGPT Java: Bagaimana untuk membina sistem pengesyoran muzik pintar Oct 27, 2023 pm 01:55 PM

ChatGPTJava: Bagaimana untuk membina sistem pengesyoran muzik pintar, contoh kod khusus diperlukan Pengenalan: Dengan perkembangan pesat Internet, muzik telah menjadi bahagian penting dalam kehidupan seharian manusia. Apabila platform muzik terus muncul, pengguna sering menghadapi masalah biasa: bagaimana untuk mencari muzik yang sesuai dengan citarasa mereka? Untuk menyelesaikan masalah ini, sistem pengesyoran muzik pintar telah wujud. Artikel ini akan memperkenalkan cara menggunakan ChatGPTJava untuk membina sistem pengesyoran muzik pintar dan menyediakan contoh kod khusus. Tidak.

Cara menggunakan Java untuk melaksanakan fungsi statistik inventori sistem pengurusan gudang Cara menggunakan Java untuk melaksanakan fungsi statistik inventori sistem pengurusan gudang Sep 24, 2023 pm 01:13 PM

Cara menggunakan Java untuk melaksanakan fungsi statistik inventori sistem pengurusan gudang Dengan perkembangan e-dagang dan peningkatan kepentingan pengurusan pergudangan, fungsi statistik inventori telah menjadi bahagian yang amat diperlukan dalam sistem pengurusan gudang. Sistem pengurusan gudang yang ditulis dalam Java boleh melaksanakan fungsi statistik inventori melalui kod ringkas dan cekap, membantu syarikat mengurus storan gudang dengan lebih baik dan meningkatkan kecekapan operasi. 1. Pengenalan latar belakang Sistem pengurusan gudang merujuk kepada kaedah pengurusan yang menggunakan teknologi komputer untuk melaksanakan pengurusan data, pemprosesan maklumat dan analisis membuat keputusan ke atas gudang perusahaan. Statistik inventori ialah

Alat pemantauan dan penalaan prestasi biasa dalam pembangunan Java Alat pemantauan dan penalaan prestasi biasa dalam pembangunan Java Oct 10, 2023 pm 01:49 PM

Alat pemantauan dan penalaan prestasi biasa dalam pembangunan Java memerlukan contoh kod khusus Pengenalan: Dengan pembangunan berterusan teknologi Internet, Java, sebagai bahasa pengaturcaraan yang stabil dan cekap, digunakan secara meluas dalam proses pembangunan. Walau bagaimanapun, disebabkan sifat merentas platform Java dan kerumitan persekitaran berjalan, isu prestasi telah menjadi faktor yang tidak boleh diabaikan dalam pembangunan. Untuk memastikan ketersediaan tinggi dan respons pantas aplikasi Java, pembangun perlu memantau dan menala prestasi. Artikel ini akan memperkenalkan beberapa pemantauan dan penalaan prestasi Java biasa

Program Java: Gunakan huruf besar pertama setiap perkataan dalam rentetan Program Java: Gunakan huruf besar pertama setiap perkataan dalam rentetan Aug 20, 2023 pm 03:45 PM

Astringisaclassof'java.lang'packagethatstoresaseriesofcharacters.Thosecharacterreally actuallyString-typeobjects.Kami mesti menutup nilai rentetan dalam petikan berganda.Secara amnya, kami boleh mewakili aksara dalam huruf kecil dan dua huruf dalam Java.Dan, ia juga mungkin untuk ditukar

See all articles