LoginController
package com.example.controller;
import com.example.pojo.Result;
import com.example.pojo.Users;
import com.example.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
@RestController
public class LoginController {
@Autowired
private UserService userService;
//采用form传参数
@PostMapping("/login")
public Result login(HttpServletRequest request, @RequestBody Users users) {
Users e = userService.login(users);
if (e != null) {
request.getSession().setAttribute("user", users.getName());
String user = (String) request.getSession().getAttribute("user");
System.out.println("查询不为空。"+user);
return Result.success();
}
else{
String user = (String) request.getSession().getAttribute("user");
System.out.println("查询为空。"+user);
return Result.error("用户名或密码错误");
}
}
@GetMapping("/logout")
public Result logout(HttpServletRequest request) {
//清理Session中保存的当前登录员工的id
request.getSession().removeAttribute("user");
return Result.success("退出成功");
}
@GetMapping("/index1")
public Result index1(HttpServletRequest request) {
String user = (String) request.getSession().getAttribute("user");
if (user != null) {
return Result.success();
} else {
return Result.error("无权限");
}
}
@GetMapping("/index2")
public Result index2(HttpServletRequest request) {
String user = (String) request.getSession().getAttribute("user");
if (user != null) {
return Result.success();
} else {
return Result.error("无权限");
}
}
}
UsersMapper
package com.example.mapper;
import com.example.pojo.Users;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
@Mapper
public interface UsersMapper {
@Select("select * from users where username=#{username} and password =#{password}")
public Users getByUsernameAndPassword(Users users);
}
Users
package com.example.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Users {
private String username;
private String password;
}
UserServiceImpl
package com.example.service.impl;
import com.example.mapper.UsersMapper;
import com.example.pojo.Users;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements com.example.service.UserService {
@Autowired
private UsersMapper usersMapper;
@Override
public Users login(Users users){
return usersMapper.getByUsernameAndPassword(users);
}
}
UserService
package com.example.service;
import com.example.pojo.Users;
public interface UserService {
Users login(Users users);
}
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录后信息放在session中</title>
<!-- 引入组件库 -->
<script src="js/jquery.min.js"></script>
<script src="js/vue.js"></script>
<script src="js/element.js"></script>
<script src="js/axios-0.18.0.js"></script>
<link rel="stylesheet" href="js/element.css">
</head>
<body>
<div id="app">
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="姓名">
<el-input v-model="form.name">tom</el-input>
</el-form-item>
<el-form-item label="密码">
<el-input v-model="form.password">123</el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">提交</el-button>
<el-button>取消</el-button>
</el-form-item>
</el-form>
</div>
<script>
new Vue({
el:"#app",
data:{
form: {
name: '',
password: ''
},
tableData: []
},
methods:{
onSubmit() {
var url = `/login_session`
console.log(this.form.name);
console.log(this.form.password);
axios.post(url, {
name: this.form.name,
password: this.form.password
})
.then(response => {
this.tableData = response.data;
console.log(this.tableData);
location.href = '/index1.html'
//注意,一定要退出登录,才能再次输入密码账号验证,否则session依然有效。
})
.catch(error=>{
console.error(error);
})
}
}
})
</script>
</body>
</html>
运行结果如下:




899

被折叠的 条评论
为什么被折叠?



