diff --git a/pom.xml b/pom.xml
index 5ba951a..dba890c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,6 +57,12 @@
1.6.2
+
+
+ org.springframework.boot
+ spring-boot-starter-websocket
+
+
diff --git a/src/main/java/com/example/chat/controller/LoginController.java b/src/main/java/com/example/chat/controller/LoginController.java
index 8d5e868..d5bc90d 100644
--- a/src/main/java/com/example/chat/controller/LoginController.java
+++ b/src/main/java/com/example/chat/controller/LoginController.java
@@ -21,10 +21,11 @@ public class LoginController {
CodeCheck codeCheck;
@Resource
MailUtil mailUtil;
+
@PostMapping("/login")
public Result Login(@RequestBody User user) throws IOException {
Result result = new Result();
- if (login.LoginCheck(user)!=null) {
+ if (login.LoginCheck(user) != null) {
result.setStatus(200);
result.setResponseStr(login.LoginCheck(user));
@@ -39,7 +40,7 @@ public class LoginController {
@PostMapping("/register")
public Result Register(@RequestBody User user) throws IOException {
System.out.println("被调用了");
- System.out.println("user是啥"+user);
+ System.out.println("user是啥" + user);
Result result = new Result();
result.setStatus(login.Register(user));
return result;
@@ -48,10 +49,11 @@ public class LoginController {
@PostMapping("/checkCode")
public boolean checkCode(@RequestBody Email email) {
System.out.println(email);
- return codeCheck.CheckCode(email.getEmail(),email.getCode());
+ return codeCheck.CheckCode(email.getEmail(), email.getCode());
}
+
@PostMapping("/sendCode")
- public void sendCode(@RequestBody Email email){
+ public void sendCode(@RequestBody Email email) {
System.out.println(email.getEmail());
mailUtil.sendMail(email.getEmail());
}
diff --git a/src/main/java/com/example/chat/dao/Login.java b/src/main/java/com/example/chat/dao/Login.java
index 7fcec4f..68b629c 100644
--- a/src/main/java/com/example/chat/dao/Login.java
+++ b/src/main/java/com/example/chat/dao/Login.java
@@ -13,8 +13,8 @@ public class Login implements UserTable {
@Override
public void addUser(User user) throws IOException {
- SqlSession sqlSession=MybatisSingleton.getSqlSessionFactory().openSession();
- sqlSession.insert("dao.Login.addUser",user);
+ SqlSession sqlSession = MybatisSingleton.getSqlSessionFactory().openSession();
+ sqlSession.insert("dao.Login.addUser", user);
sqlSession.commit();
sqlSession.close();
}
@@ -25,22 +25,22 @@ public class Login implements UserTable {
}
@Override
- public void updateUser(User oldUser,User newUser) {
+ public void updateUser(User oldUser, User newUser) {
}
@Override
public User getUser(User user) throws IOException {
- SqlSession sqlSession= MybatisSingleton.getSqlSessionFactory().openSession();
- User returnUser=sqlSession.selectOne("dao.Login.getUser",user);
+ SqlSession sqlSession = MybatisSingleton.getSqlSessionFactory().openSession();
+ User returnUser = sqlSession.selectOne("dao.Login.getUser", user);
sqlSession.close();
return returnUser;
}
@Override
public User emailCheck(User user) throws IOException {
- SqlSession sqlSession=MybatisSingleton.getSqlSessionFactory().openSession();
- User returnUser=sqlSession.selectOne("dao.Login.emailCheck",user);
+ SqlSession sqlSession = MybatisSingleton.getSqlSessionFactory().openSession();
+ User returnUser = sqlSession.selectOne("dao.Login.emailCheck", user);
sqlSession.close();
return returnUser;
}
diff --git a/src/main/java/com/example/chat/dao/Test01.java b/src/main/java/com/example/chat/dao/Test01.java
index 9b1949a..f98c296 100644
--- a/src/main/java/com/example/chat/dao/Test01.java
+++ b/src/main/java/com/example/chat/dao/Test01.java
@@ -5,17 +5,19 @@ import com.example.chat.entity.User;
import org.apache.ibatis.session.SqlSession;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
+
import java.util.concurrent.TimeUnit;
+
@Component
public class Test01 implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
- while (true){
- SqlSession sqlSession= MybatisSingleton.getSqlSessionFactory().openSession();
- User user=sqlSession.selectOne("dao.Login.getUser","123");
- if (user!=null){
+ while (true) {
+ SqlSession sqlSession = MybatisSingleton.getSqlSessionFactory().openSession();
+ User user = sqlSession.selectOne("dao.Login.getUser", "123");
+ if (user != null) {
System.out.println(user);
}
sqlSession.close();
diff --git a/src/main/java/com/example/chat/dao/mybatis/MybatisSingleton.java b/src/main/java/com/example/chat/dao/mybatis/MybatisSingleton.java
index 366256d..343fccc 100644
--- a/src/main/java/com/example/chat/dao/mybatis/MybatisSingleton.java
+++ b/src/main/java/com/example/chat/dao/mybatis/MybatisSingleton.java
@@ -9,12 +9,13 @@ import java.io.IOException;
public class MybatisSingleton {
private static SqlSessionFactory sqlSessionFactory;
- private MybatisSingleton(){
+ private MybatisSingleton() {
}
+
public static SqlSessionFactory getSqlSessionFactory() throws IOException {
- if(sqlSessionFactory==null){
- sqlSessionFactory=new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader("mybatis.xml"));
+ if (sqlSessionFactory == null) {
+ sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader("mybatis.xml"));
}
return sqlSessionFactory;
diff --git a/src/main/java/com/example/chat/dao/redis/CodeRedis.java b/src/main/java/com/example/chat/dao/redis/CodeRedis.java
index 0e17455..e537b9c 100644
--- a/src/main/java/com/example/chat/dao/redis/CodeRedis.java
+++ b/src/main/java/com/example/chat/dao/redis/CodeRedis.java
@@ -19,10 +19,12 @@ public class CodeRedis implements RedisUtil {
valueOperations.set(account, code, 60, TimeUnit.SECONDS);
}
}
+
@Override
public String getRedis(String account) {
return stringRedisTemplate.opsForValue().get(account);
}
+
@Override
public void delRedis(String account) {
diff --git a/src/main/java/com/example/chat/dao/redis/RedisUtil.java b/src/main/java/com/example/chat/dao/redis/RedisUtil.java
index 834c9c0..b590e30 100644
--- a/src/main/java/com/example/chat/dao/redis/RedisUtil.java
+++ b/src/main/java/com/example/chat/dao/redis/RedisUtil.java
@@ -4,8 +4,10 @@ import org.springframework.stereotype.Repository;
@Repository
public interface RedisUtil {
- public abstract void addRedis(String key,String value);
+ public abstract void addRedis(String key, String value);
+
public abstract void delRedis(String key);
+
public abstract String getRedis(String key);
}
diff --git a/src/main/java/com/example/chat/dao/redis/TokenRedis.java b/src/main/java/com/example/chat/dao/redis/TokenRedis.java
index 2ee2519..f3bf331 100644
--- a/src/main/java/com/example/chat/dao/redis/TokenRedis.java
+++ b/src/main/java/com/example/chat/dao/redis/TokenRedis.java
@@ -8,14 +8,15 @@ import javax.annotation.Resource;
import java.util.concurrent.TimeUnit;
@Repository
-public class TokenRedis implements RedisUtil{
+public class TokenRedis implements RedisUtil {
@Resource
StringRedisTemplate stringRedisTemplate;
+
@Override
public void addRedis(String key, String value) {
- ValueOperations valueOperations=stringRedisTemplate.opsForValue();
- valueOperations.set(key,value,60, TimeUnit.MINUTES);
+ ValueOperations valueOperations = stringRedisTemplate.opsForValue();
+ valueOperations.set(key, value, 60, TimeUnit.MINUTES);
}
@Override
diff --git a/src/main/java/com/example/chat/entity/Email.java b/src/main/java/com/example/chat/entity/Email.java
index 6e97a66..de0c266 100644
--- a/src/main/java/com/example/chat/entity/Email.java
+++ b/src/main/java/com/example/chat/entity/Email.java
@@ -14,6 +14,7 @@ public class Email {
/**
* 获取
+ *
* @return email
*/
public String getEmail() {
@@ -22,6 +23,7 @@ public class Email {
/**
* 设置
+ *
* @param email
*/
public void setEmail(String email) {
@@ -30,6 +32,7 @@ public class Email {
/**
* 获取
+ *
* @return code
*/
public String getCode() {
@@ -38,6 +41,7 @@ public class Email {
/**
* 设置
+ *
* @param code
*/
public void setCode(String code) {
diff --git a/src/main/java/com/example/chat/entity/Result.java b/src/main/java/com/example/chat/entity/Result.java
index 923838a..4dc2489 100644
--- a/src/main/java/com/example/chat/entity/Result.java
+++ b/src/main/java/com/example/chat/entity/Result.java
@@ -13,11 +13,14 @@ public class Result {
this.responseStr = responseStr;
this.data = data;
}
- public Result(int status){
- this.status=status;
+
+ public Result(int status) {
+ this.status = status;
}
+
/**
* 获取
+ *
* @return status
*/
public int getStatus() {
@@ -26,6 +29,7 @@ public class Result {
/**
* 设置
+ *
* @param status
*/
public void setStatus(int status) {
@@ -34,6 +38,7 @@ public class Result {
/**
* 获取
+ *
* @return responseStr
*/
public String getResponseStr() {
@@ -42,6 +47,7 @@ public class Result {
/**
* 设置
+ *
* @param responseStr
*/
public void setResponseStr(String responseStr) {
@@ -50,6 +56,7 @@ public class Result {
/**
* 获取
+ *
* @return data
*/
public Object getData() {
@@ -58,6 +65,7 @@ public class Result {
/**
* 设置
+ *
* @param data
*/
public void setData(Object data) {
diff --git a/src/main/java/com/example/chat/entity/User.java b/src/main/java/com/example/chat/entity/User.java
index d02cc6a..7b7dc81 100644
--- a/src/main/java/com/example/chat/entity/User.java
+++ b/src/main/java/com/example/chat/entity/User.java
@@ -20,6 +20,7 @@ public class User {
/**
* 获取
+ *
* @return username
*/
public String getUsername() {
@@ -28,6 +29,7 @@ public class User {
/**
* 设置
+ *
* @param username
*/
public void setUsername(String username) {
@@ -36,6 +38,7 @@ public class User {
/**
* 获取
+ *
* @return password
*/
public String getPassword() {
@@ -44,6 +47,7 @@ public class User {
/**
* 设置
+ *
* @param password
*/
public void setPassword(String password) {
@@ -52,6 +56,7 @@ public class User {
/**
* 获取
+ *
* @return account
*/
public String getAccount() {
@@ -60,6 +65,7 @@ public class User {
/**
* 设置
+ *
* @param account
*/
public void setAccount(String account) {
@@ -68,6 +74,7 @@ public class User {
/**
* 获取
+ *
* @return email
*/
public String getEmail() {
@@ -76,6 +83,7 @@ public class User {
/**
* 设置
+ *
* @param email
*/
public void setEmail(String email) {
diff --git a/src/main/java/com/example/chat/jwt/InterceptorConfig.java b/src/main/java/com/example/chat/jwt/InterceptorConfig.java
index b2a1580..28715e5 100644
--- a/src/main/java/com/example/chat/jwt/InterceptorConfig.java
+++ b/src/main/java/com/example/chat/jwt/InterceptorConfig.java
@@ -32,8 +32,7 @@ public class InterceptorConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
- registry.addMapping("/**")
- .allowCredentials(true)//允许携带cookie
+ registry.addMapping("/**").allowCredentials(true)//允许携带cookie
.allowedMethods("GET", "POST", "DELETE", "PUT", "PATCH", "OPTIONS", "HEAD")//允许访问的方法
.allowedOriginPatterns("*")//允许的跨域访问地址
.maxAge(3600 * 24);//options缓存时间
diff --git a/src/main/java/com/example/chat/jwt/JWTUtil.java b/src/main/java/com/example/chat/jwt/JWTUtil.java
index 0968b7f..5a487f2 100644
--- a/src/main/java/com/example/chat/jwt/JWTUtil.java
+++ b/src/main/java/com/example/chat/jwt/JWTUtil.java
@@ -9,6 +9,7 @@ import org.springframework.stereotype.Component;
public class JWTUtil {
private static final String tokenPassword = "uziCjb";
+
public static String sign(String username) {//用用户名作为被加密的对象
String token;
@@ -18,17 +19,17 @@ public class JWTUtil {
.sign(Algorithm.HMAC256(tokenPassword));
return token;//返回加密后的token
}
- public static String verify(String token){
- JWTVerifier jwtVerifier=JWT.require(Algorithm.HMAC256(tokenPassword)).withIssuer("llh").build();//构建一个jwt解码器
- DecodedJWT jwtToken=jwtVerifier.verify(token);//解码
- if(token.isEmpty()){//若token为空则返回false拦截
+
+ public static String verify(String token) {
+ JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256(tokenPassword)).withIssuer("llh").build();//构建一个jwt解码器
+ DecodedJWT jwtToken = jwtVerifier.verify(token);//解码
+ if (token.isEmpty()) {//若token为空则返回false拦截
return null;
- }
- else {
+ } else {
System.out.println("认证通过:");
System.out.println("issuer: " + jwtToken.getIssuer());
System.out.println("username: " + jwtToken.getClaim("username").asString());
return jwtToken.getClaim("username").asString();
}
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/example/chat/jwt/TokenInterceptor.java b/src/main/java/com/example/chat/jwt/TokenInterceptor.java
index 9b2735c..16a3651 100644
--- a/src/main/java/com/example/chat/jwt/TokenInterceptor.java
+++ b/src/main/java/com/example/chat/jwt/TokenInterceptor.java
@@ -34,7 +34,7 @@ public class TokenInterceptor implements HandlerInterceptor {
if (token != null) {
String verifyToken = JWTUtil.verify(token);
- if (redisUtil.getRedis(verifyToken)!=null) {
+ if (redisUtil.getRedis(verifyToken) != null) {
response.setStatus(200);//设置状态码为正常,即通过登录验证
System.out.println("通过拦截器");
return true;
diff --git a/src/main/java/com/example/chat/service/CodeCheck.java b/src/main/java/com/example/chat/service/CodeCheck.java
index 4f2cd5b..896d886 100644
--- a/src/main/java/com/example/chat/service/CodeCheck.java
+++ b/src/main/java/com/example/chat/service/CodeCheck.java
@@ -8,9 +8,10 @@ import javax.annotation.Resource;
@Service
public class CodeCheck {
- @Resource(name="codeRedis")
+ @Resource(name = "codeRedis")
RedisUtil codeRedis;
- public boolean CheckCode(String account,String code){
+
+ public boolean CheckCode(String account, String code) {
return code.equals(codeRedis.getRedis(account));
}
}
diff --git a/src/main/java/com/example/chat/service/CodeCreate.java b/src/main/java/com/example/chat/service/CodeCreate.java
index 20ec0c0..84ae1c0 100644
--- a/src/main/java/com/example/chat/service/CodeCreate.java
+++ b/src/main/java/com/example/chat/service/CodeCreate.java
@@ -5,7 +5,7 @@ import org.springframework.stereotype.Service;
@Service
public class CodeCreate {
- public String CreateCode(){
+ public String CreateCode() {
String[] letters = new String[]{
"0", "1", "2", "3", "4", "5", "6", "7",
"8", "9"
diff --git a/src/main/java/com/example/chat/service/LoginService.java b/src/main/java/com/example/chat/service/LoginService.java
index 49c6495..4341c0b 100644
--- a/src/main/java/com/example/chat/service/LoginService.java
+++ b/src/main/java/com/example/chat/service/LoginService.java
@@ -27,12 +27,11 @@ public class LoginService {
if (user.getPassword().equals(requestUser.getPassword())) {
- String token= JWTUtil.sign(user.getAccount());
- redisUtil.addRedis(user.getAccount(),token);
+ String token = JWTUtil.sign(user.getAccount());
+ redisUtil.addRedis(user.getAccount(), token);
return token;
} else return null;
- }else
- {
+ } else {
return null;
}
}
diff --git a/src/main/java/com/example/chat/service/mail/MailUtil.java b/src/main/java/com/example/chat/service/mail/MailUtil.java
index 55220ed..28e7884 100644
--- a/src/main/java/com/example/chat/service/mail/MailUtil.java
+++ b/src/main/java/com/example/chat/service/mail/MailUtil.java
@@ -17,7 +17,7 @@ import java.util.Properties;
public class MailUtil {
@Resource
CodeCreate codeCreate;
- @Resource(name ="codeRedis")
+ @Resource(name = "codeRedis")
RedisUtil redisUtil;
public void sendMail(String receive) {
@@ -44,7 +44,7 @@ public class MailUtil {
Message message = createSimpleMail(session, receive, code);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
- redisUtil.addRedis(receive,code);
+ redisUtil.addRedis(receive, code);
} catch (GeneralSecurityException | MessagingException e) {
throw new RuntimeException(e);
}
diff --git a/src/main/resources/mapper/LoginMapper.xml b/src/main/resources/mapper/LoginMapper.xml
index 6095a59..1b73614 100644
--- a/src/main/resources/mapper/LoginMapper.xml
+++ b/src/main/resources/mapper/LoginMapper.xml
@@ -23,7 +23,7 @@
update user
- set password=#{password} and username = #{username} and email=#{email}
+ set password=#{password} and username = #{username} and email = #{email}
where account = #{account};
diff --git a/src/main/resources/mybatis.xml b/src/main/resources/mybatis.xml
index e9fea9b..92a66cd 100644
--- a/src/main/resources/mybatis.xml
+++ b/src/main/resources/mybatis.xml
@@ -21,6 +21,6 @@
-->
-
+
-
\ No newline at end of file
+