提交 cf31d83d 编写于 作者: 7 7wc98#14

Update

上级 8ab976c9
......@@ -24,5 +24,6 @@ public class WebMVCConfig extends WebMvcConfigurerAdapter {
// registry.addViewController("/login").setViewName("page/Login");
// registry.addViewController("/home").setViewName("page/Home");
registry.addViewController("/aboutLearn").setViewName("page/AboutLearn");
registry.addViewController("/publicChatRoom").setViewName("PublicChatRoom");
}
}
//IntelliJ IDEA
//campus
//ChatController
//2020/6/15
// Author:御承扬
//E-mail:2923616405@qq.com
package com.pyc.campus.controller;
import com.pyc.campus.domain.PublishMessage;
import com.pyc.campus.domain.ResponseMessage;
import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.handler.annotation.SendTo;
import org.springframework.stereotype.Controller;
@Controller
public class ChatController {
@MessageMapping("/publicChatRoom")
@SendTo("/publicChat/getResponse")
public ResponseMessage say(PublishMessage message) throws Exception{
Thread.sleep(500);
return new ResponseMessage(message.getName()+":"+message.getContent());
}
}
......@@ -8,4 +8,14 @@
package com.pyc.campus.domain;
public class PublishMessage {
private String content;
private String name;
public String getContent() {
return content;
}
public String getName() {
return name;
}
}
//IntelliJ IDEA
//campus
//ResponseMessage
//2020/6/15
// Author:御承扬
//E-mail:2923616405@qq.com
package com.pyc.campus.domain;
public class ResponseMessage {
private final String responseMessageContent;
public ResponseMessage(String responseMessageContent){
this.responseMessageContent=responseMessageContent;
}
public String getResponseMessageContent() {
return responseMessageContent;
}
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>公共聊天室</title>
<style>
body {
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
font-size: 14px;
color: #000;
margin: 0;
padding: 0;
background: #eee url("../static/images/campus/logo.jpg") center no-repeat fixed;
}
.main{
margin: 10px auto;
width: 800px;
height: 700px;
}
</style>
</head>
<body onload="disconnect()">
<noscript><h2 style="color: red">貌似您的浏览器不支持WebSocket</h2> </noscript>
<div class="main">
<div>
<div>
<button id="connect" onclick="connect();">连接</button>
<button id="disconnect" disabled="disabled" onclick="disconnect();">断开连接</button>
</div>
<div id="conversationDiv">
<label for="name">输入名字:</label><input type="text" id="name" />
<label for="content">输入消息:</label><input type="text" id="content">
<button id="sendName" onclick="sendName();">发送</button>
<br><h1>聊天记录框</h1>
<div id="response" style="width: 500px;min-height:600px;height: auto;font-size: 26px;border: 1px solid black;"></div>
</div>
</div>
</div>
<script src="js/sockjs.min.js"></script>
<script src="js/stomp.min.js"></script>
<script src="js/jquery.js"></script>
<script type="text/javascript">
var stompClient = null;
function setConnected(connected) {
document.getElementById('connect').disabled = connected;
document.getElementById('disconnect').disabled = !connected;
document.getElementById('conversationDiv').style.visibility = connected ? 'visible' : 'hidden';
$('#response').html();
}
function connect() {
var socket = new SockJS('/endpointPublicChat'); //1
stompClient = Stomp.over(socket);
stompClient.connect({}, function(frame) {
setConnected(true);
console.log('Connected: ' + frame);
stompClient.subscribe('/publicChat/getResponse', function(response){ //2
showResponse(JSON.parse(response.body).responseMessageContent);
});
});
}
function disconnect() {
if (stompClient != null) {
stompClient.disconnect();
}
setConnected(false);
console.log("Disconnected");
}
function sendName() {
var name = $('#name').val();
var content = $('#content').val();
//3
stompClient.send("/publicChatRoom", {}, JSON.stringify({ 'name': name,'content':content }));
}
function showResponse(message) {
// var response = $("#response");
// response.html(message+"<br>");
var div = document.getElementById("response");
var p = document.createElement("p");
p.innerHTML=message;
div.append(p);
}
</script>
</body>
\ No newline at end of file
......@@ -33,11 +33,6 @@
width: 800px;
height: 700px;
}
.questions-list{
margin: 10px auto;
width: 800px;
height: auto;
}
</style>
</head>
<body>
......
......@@ -87,6 +87,7 @@
<li><a href="/toQueryGrade">查看课程成绩</a> </li>
<li><a href="/toUpQuestion">申请问题悬赏</a> </li>
<li><a href="/toBrowserQuestion">浏览悬赏问题</a> </li>
<li><a href="/publicChatRoom">公共聊天室</a> </li>
</ul>
<hr class="hidden-sm hidden-md hidden-lg">
</div>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册