diff --git a/README.md b/README.md
index 980a63af4f08b1f66130509717cd6c1b985dc25d..a2c20648ebb27885cf5fb121fd32b43090b2bb75 100644
--- a/README.md
+++ b/README.md
@@ -47,8 +47,9 @@
2. ~~没有顶号的功能,当登录两个同样的A用户,(先登录叫A-1,后登录叫A-2),A-2可以接受消息,A-1、A-2都能发消息。~~
3. 出现过一次空指针(不影响功能,退出时出现的与io流有关)。
4. 优化重定向,目前是重定向到错误页面。
-5. 刷新导致onclose方法取出user为null,从而无法在拦截器正确移除已退出的用户。(重要)
-
+5. ~~刷新导致onclose方法取出user为null~~,~~从而无法在拦截器正确移除已退出的用户~~。(重要)
+6. ssl生成证书, 保证通信的安全
+7. 定义发送快捷键 alt+enter
#### Lombok的使用
1. 引入依赖
diff --git a/build.sh b/build.sh
new file mode 100644
index 0000000000000000000000000000000000000000..7efecccb8cedf86d299ae72dba3b495dc1f266c7
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+PID=$(ps -ef | grep websocket-demo | grep -v grep | awk '{ print $2 }')
+if [ -z "$PID" ]
+then
+ echo Application is not found
+else
+ echo kill $PID
+ kill -9 $PID
+fi
+BUILD_ID=dontKillMe
+# 跳过测试编译
+mvn clean package -Dmaven.test.skip=true
+nohup java -jar -Xms256m -Xmx256m target/*.jar &
\ No newline at end of file
diff --git a/debug.sh b/debug.sh
new file mode 100644
index 0000000000000000000000000000000000000000..be0a53ac44b93dfcafc9b25294407279979258b8
--- /dev/null
+++ b/debug.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+PID=$(ps -ef | grep websocket-demo | grep -v grep | awk '{ print $2 }')
+if [ -z "$PID" ]
+then
+ echo Application is not found
+else
+ echo kill $PID
+ kill -9 $PID
+fi
+BUILD_ID=dontKillMe
+# 跳过测试编译
+mvn clean package -Dmaven.test.skip=true
+
+nohup java -Xdebug -Xrunjdwp:transport=dt_socket,address=8280,server=y,suspend=n -jar -Dhudson.util.ProcessTree.disable=true target/*.jar &
+#nohup java -jar -Xms256m -Xmx256m target/*.jar &
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index e223b70dcb07f172ab6195f755cff6896ad17c0b..3cabf2a4542b1bda2dee37de7d94b9b53a1ae6fc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,7 @@
Demo project for Spring Boot
UTF-8
- 11
+ 8
diff --git a/shutdown.sh b/shutdown.sh
new file mode 100644
index 0000000000000000000000000000000000000000..0ee86e008af4c462f2502711ab10c79442f20f62
--- /dev/null
+++ b/shutdown.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+PID=$(ps -ef | grep websocket-demo | grep -v grep | awk '{ print $2 }')
+if [ -z "$PID" ]
+then
+ echo Application is not found
+else
+ echo kill $PID
+ kill -9 $PID
+ echo Application is already stopped
+fi
diff --git a/src/main/java/com/websocket/websocketdemo/WebsocketDemoApplication.java b/src/main/java/com/websocket/websocketdemo/WebsocketDemoApplication.java
index 2ca111218d15807514c7e3d29844f24e69cbd301..69e3e5bc570f4c409c5fb84eb3a7947f3dbc9b08 100644
--- a/src/main/java/com/websocket/websocketdemo/WebsocketDemoApplication.java
+++ b/src/main/java/com/websocket/websocketdemo/WebsocketDemoApplication.java
@@ -12,4 +12,4 @@ public class WebsocketDemoApplication {
SpringApplication.run(WebsocketDemoApplication.class, args);
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/websocket/websocketdemo/controller/CertificationController.java b/src/main/java/com/websocket/websocketdemo/controller/CertificationController.java
index f2376b458c84bc888f3abd80eb951d45942af8c4..c77a46a4b790a82cc65b4d1839db94471feec967 100644
--- a/src/main/java/com/websocket/websocketdemo/controller/CertificationController.java
+++ b/src/main/java/com/websocket/websocketdemo/controller/CertificationController.java
@@ -33,8 +33,7 @@ public class CertificationController {
result.setFlag(true);
log.info(user+"登录验证成功");
httpSession.setAttribute("user",user);
- }
- else if ("王五".equals(user)&&"123".equals(pwd)){
+ }else if ("王五".equals(user)&&"123".equals(pwd)){
result.setFlag(true);
log.info(user+"登录验证成功");
httpSession.setAttribute("user",user);
diff --git a/src/main/java/com/websocket/websocketdemo/interceptor/UserInterceptor.java b/src/main/java/com/websocket/websocketdemo/interceptor/UserInterceptor.java
index ad111cd3b9ff1e6365caea3ab430dc487d423bbf..fa2bcad221f30dab1a2d3cdc462152acb5bffb77 100644
--- a/src/main/java/com/websocket/websocketdemo/interceptor/UserInterceptor.java
+++ b/src/main/java/com/websocket/websocketdemo/interceptor/UserInterceptor.java
@@ -26,7 +26,12 @@ public class UserInterceptor implements HandlerInterceptor {
HttpSession httpSession = request.getSession();
String username = (String) httpSession.getAttribute("user");
log.info("进入拦截器"+"==="+"进入拦截器的用户是:"+username);
- if(username != null && !onLineUsers.containsKey(username)){
+
+ /*
+ session有效用户放行username
+ */
+ if(username != null){
+// if(username != null && !onLineUsers.containsKey(username)){
onLineUsers.put(username,username);
log.info("已进入拦截器判断");
log.info("已存储的用户01"+onLineUsers);
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 78b1d6a349199d6fdf4af4be95cfccf384e736ec..c5e1b35665d179e56d5b437df7f8246f4b329dd8 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
- port: 8080
+ port: 8200
spring:
thymeleaf:
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0ef4ebbdc67552ec8bce75eb07766b52a1a881b1
--- /dev/null
+++ b/src/main/resources/logback.xml
@@ -0,0 +1,176 @@
+
+
+
+
+ SpringBootLogbacK
+
+
+
+
+
+
+
+
+ ${LOG_PATH}/${APPDIR}/log_error.log
+
+
+
+ ${LOG_PATH}/${APPDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+ 10MB
+
+
+
+ true
+
+
+ ===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n
+ utf-8
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+ ${LOG_PATH}/${APPDIR}/log_debug.log
+
+
+
+ ${LOG_PATH}/${APPDIR}/debug/log-debug-%d{yyyy-MM-dd}.%i.log
+
+
+ 10MB
+
+
+
+ true
+
+
+ ===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n
+ utf-8
+
+
+
+ debug
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+ ${LOG_PATH}/${APPDIR}/log_info.log
+
+
+
+ ${LOG_PATH}/${APPDIR}/info/log-info-%d{yyyy-MM-dd}.%i.log
+
+
+ 10MB
+
+
+
+ true
+
+
+ ===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n
+ utf-8
+
+
+
+ info
+ ACCEPT
+ DENY
+
+
+
+
+
+
+ ${LOG_PATH}/${APPDIR}/log_mybatis.log
+
+
+
+ ${LOG_PATH}/${APPDIR}/mybatis/log-mybatis-%d{yyyy-MM-dd}.%i.log
+
+
+ 10MB
+
+
+
+ true
+
+
+ ===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n
+ utf-8
+
+
+
+
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS, Asia/Shanghai} %highlight(%5p) --- [%-5t] %cyan(%c{36}): %m%n
+ utf-8
+
+
+
+ debug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/templates/main.html b/src/main/resources/templates/main.html
index f0fcb95964ba79b290f784ed1970696871a55fcc..90e525a5c097be03d81f39515a26cfefe68d68ec 100644
--- a/src/main/resources/templates/main.html
+++ b/src/main/resources/templates/main.html
@@ -132,6 +132,7 @@
//获取host解决后端获取httpsession的空指针异常
var host = window.location.host;
var ws = new WebSocket("ws://"+host+"/chat");
+ //ws建立onopen会不会阻塞 ??
ws.onopen = function (evt) {
$("#username").html("用户:"+ username +"-在线
");
}
@@ -205,19 +206,19 @@
})
})
-
+
-
+
+
+
+
+
+
+
+