添加运行日志处理,频率为每天对error和info级别的日志进行文件保存
实现判断注册用户名是否已存在
This commit is contained in:
5
pom.xml
5
pom.xml
@@ -61,6 +61,11 @@
|
||||
<groupId>org.apache.ant</groupId>
|
||||
<artifactId>ant</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.validation.Valid;
|
||||
import java.math.BigInteger;
|
||||
import java.util.Optional;
|
||||
|
||||
@Controller
|
||||
public class RegisterController {
|
||||
@@ -72,4 +73,18 @@ public class RegisterController {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户名是否存在
|
||||
* @param name
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/CheckUserName")
|
||||
@ResponseBody
|
||||
public boolean doUserName(@RequestParam(value = "name") String name){
|
||||
Optional<TbUser> user = userService.findByColname(name);
|
||||
if (user.isPresent())
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -26,4 +26,6 @@ public class StudentService {
|
||||
return tbStudentListRepository.findByColstudentnoAndColrealname(studentno,realname);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
@Service
|
||||
@@ -23,7 +24,15 @@ public class UserService {
|
||||
|
||||
|
||||
public TbUser doLoginService(String name,String password){
|
||||
TbUser user = (TbUser)tbUserRepository.findByColname(name).get();
|
||||
//TbUser user = (TbUser)tbUserRepository.findByColname(name).get();
|
||||
Optional<TbUser> tbUser = tbUserRepository.findByColname(name);
|
||||
TbUser user = new TbUser();
|
||||
if (tbUser.isPresent()){
|
||||
user = (TbUser)tbUser.get();
|
||||
}else {
|
||||
throw new UserException(ResultEnum.EMPTY_DATA);
|
||||
}
|
||||
|
||||
if (user!=null){
|
||||
if (password.equals(user.getColpassword())){
|
||||
return user;
|
||||
@@ -53,4 +62,8 @@ public class UserService {
|
||||
return vUserinfoRepository.findById(coluserid).get();
|
||||
}
|
||||
|
||||
public Optional<TbUser> findByColname(String name){
|
||||
return tbUserRepository.findByColname(name);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
58
src/main/resources/logback-spring.xml
Normal file
58
src/main/resources/logback-spring.xml
Normal file
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<configuration>
|
||||
|
||||
<!--<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<layout class="ch.qos.logback.classic.PatternLayout">
|
||||
<pattern>
|
||||
%d - %msg%n
|
||||
</pattern>
|
||||
</layout>
|
||||
</appender>-->
|
||||
<!--每天输出一个文件,使用RollingFileAppender滚动输出策略-->
|
||||
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<!--根据范围仅保留info的日志-->
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>ERROR</level>
|
||||
<onMatch>DENY</onMatch>
|
||||
<onMismatch>ACCEPT</onMismatch>
|
||||
</filter>
|
||||
<encoder>
|
||||
<pattern>
|
||||
%d - %msg%n
|
||||
</pattern>
|
||||
<charset>utf8</charset>
|
||||
</encoder>
|
||||
<!--滚动策略-->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!--路径文件名,文件名包含时间-->
|
||||
<fileNamePattern>F:\JAVA Workspace\Temp\log\info.%d.log</fileNamePattern>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<!--根据范围过滤ERROR等级以下的日志-->
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>ERROR</level>
|
||||
</filter>
|
||||
<encoder>
|
||||
<pattern>
|
||||
%d - %msg%n
|
||||
</pattern>
|
||||
<charset>utf8</charset>
|
||||
</encoder>
|
||||
<!--滚动策略-->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!--路径文件名,文件名包含时间-->
|
||||
<fileNamePattern>F:\JAVA Workspace\Temp\log\error.%d.log</fileNamePattern>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<root level="info">
|
||||
<!--<appender-ref ref="consoleLog"/>-->
|
||||
<appender-ref ref="fileInfoLog"/>
|
||||
<appender-ref ref="fileErrorLog"/>
|
||||
</root>
|
||||
|
||||
|
||||
|
||||
</configuration>
|
||||
@@ -1,6 +1,30 @@
|
||||
var Main = {
|
||||
data() {
|
||||
var checkName = (rule, value, callback) => {
|
||||
if (!value) {
|
||||
return callback(new Error('用户名不能为空'));
|
||||
}else {
|
||||
//判断用户名是否已存在
|
||||
axios.get(getRootPath_web() + '/CheckUserName', {
|
||||
params: {
|
||||
name: value
|
||||
}
|
||||
})
|
||||
.then(function (response) {
|
||||
console.log(response.data);
|
||||
if (response.data === true) {
|
||||
callback()
|
||||
} else {
|
||||
return callback(new Error('用户名已存在'));
|
||||
}
|
||||
})
|
||||
.catch(function (error) {
|
||||
console.log(error);
|
||||
this.errorNotify(error.message);
|
||||
});
|
||||
}
|
||||
};
|
||||
var checkName1 = (rule, value, callback) => {
|
||||
if (!value) {
|
||||
return callback(new Error('用户名不能为空'));
|
||||
} else {
|
||||
@@ -76,6 +100,10 @@ var Main = {
|
||||
}
|
||||
};
|
||||
return {
|
||||
ruleForm1: {
|
||||
colname: '',
|
||||
colpassword: '',
|
||||
},
|
||||
ruleForm2: {
|
||||
colname: '',
|
||||
colpassword: '',
|
||||
@@ -84,6 +112,14 @@ var Main = {
|
||||
colrealname: '',
|
||||
colemail: ''
|
||||
},
|
||||
rules1: {
|
||||
colpassword: [
|
||||
{required: true,validator: validatePass, trigger: 'blur'}
|
||||
],
|
||||
colname: [
|
||||
{required: true,validator: checkName1, trigger: 'blur'}
|
||||
],
|
||||
},
|
||||
rules2: {
|
||||
colpassword: [
|
||||
{required: true, validator: validatePass, trigger: 'blur'}
|
||||
|
||||
@@ -22,20 +22,20 @@
|
||||
@tab-click="handleClick">
|
||||
<el-tab-pane label="登录"
|
||||
name="login">
|
||||
<el-form :model="ruleForm2" status-icon
|
||||
:rules="rules2" ref="ruleForm2" label-width="100px"
|
||||
<el-form :model="ruleForm1" status-icon
|
||||
:rules="rules1" ref="ruleForm1" label-width="100px"
|
||||
class="demo-ruleForm"
|
||||
action="/cms/login/dologin"
|
||||
method="POST" name="login">
|
||||
<el-form-item label="用户名"
|
||||
prop="colname">
|
||||
<el-input
|
||||
v-model="ruleForm2.colname" name="colname"></el-input>
|
||||
v-model="ruleForm1.colname" name="colname"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="密码" prop="colpassword">
|
||||
<el-input type="password"
|
||||
v-model="ruleForm2.colpassword" auto-complete="off" name="colpassword"></el-input>
|
||||
v-model="ruleForm1.colpassword" auto-complete="off" name="colpassword"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary"
|
||||
|
||||
23
src/test/java/com/fjy/spring/LoggerTest.java
Normal file
23
src/test/java/com/fjy/spring/LoggerTest.java
Normal file
@@ -0,0 +1,23 @@
|
||||
package com.fjy.spring;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest
|
||||
@Slf4j
|
||||
public class LoggerTest {
|
||||
@Test
|
||||
public void test1(){
|
||||
String name ="fjy";
|
||||
String date = "2018-2-24";
|
||||
|
||||
log.debug("debug...");
|
||||
log.info("info...");
|
||||
log.info("name:{}, data:{}",name,date);
|
||||
log.error("error...");
|
||||
}
|
||||
}
|
||||
@@ -51,14 +51,26 @@ public class RegisterControllerTest {
|
||||
@Test
|
||||
public void doCheckStudent()throws Exception {
|
||||
//测试学号与姓名不匹配
|
||||
mvc.perform(MockMvcRequestBuilders.post("/CheckStudent")
|
||||
mvc.perform(MockMvcRequestBuilders.get("/CheckStudent")
|
||||
.param("studentno","15251101238")
|
||||
.param("realname","符嘉"))
|
||||
.andExpect(MockMvcResultMatchers.content().string("false"));
|
||||
//测试学号与姓名匹配
|
||||
mvc.perform(MockMvcRequestBuilders.post("/CheckStudent")
|
||||
mvc.perform(MockMvcRequestBuilders.get("/CheckStudent")
|
||||
.param("studentno","15251101238")
|
||||
.param("realname","符嘉阳"))
|
||||
.andExpect(MockMvcResultMatchers.content().string("true"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void doUserName()throws Exception {
|
||||
//测试用户名已存在
|
||||
mvc.perform(MockMvcRequestBuilders.get("/CheckUserName")
|
||||
.param("name","root"))
|
||||
.andExpect(MockMvcResultMatchers.content().string("false"));
|
||||
//测试用户名不存在
|
||||
mvc.perform(MockMvcRequestBuilders.get("/CheckUserName")
|
||||
.param("name","root1"))
|
||||
.andExpect(MockMvcResultMatchers.content().string("true"));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user