作者主页:源码空间站2022
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
读者角色包含以下功能:
读者登录,图书查询,借阅图书,借阅管理,修改密码,借阅记录等功能。
管理员角色包含以下功能:
管理员登录,图书管理,图书类别管理,读者列表等功能。
由于本程序规模不大,可供课程设计,毕业设计学习演示之用
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
技术栈
1. 后端:Spring+SpringMVC+Mybatis
2. 前端:HTML+CSS+JavaScript+jsp
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/ 登录
运行截图
代码相关
登录管理控制器
@RequestMapping("/login")
@Controller
public class LoginController {
@Autowired
private LoginService loginService;
//用户登录
@PostMapping
@ResponseBody
public String login(@RequestBody LoginVo loginVo, HttpServletResponse response,
HttpServletRequest request){
String url = loginService.login(loginVo,response,request);
return url;
}
//读者自动登录
@GetMapping("/autoLogin")
public String autoLoginReader(HttpServletResponse response,HttpServletRequest request){
Boolean flag = loginService.autoLoginReader(response, request);
String url = "";
if(flag){ //登录成功
url = "/pages/reader/bookDatalist.jsp";
}else{ //登陆失败
url = "/pages/login.jsp";
}
return "redirect:"+ url;
}
}
注册管理控制器
@RequestMapping("register")
@RestController
public class RegisterController {
@Autowired
private ReaderService readerService;
//用户名是否存在
@PostMapping("/account/{accountName}")
@ResponseBody
public ResponseEntity<Void> accountName(@PathVariable("accountName") String accountName){
readerService.accountNameExist(accountName);
return ResponseEntity.ok().build();
}
//用户注册
@PostMapping
@ResponseBody
public ResponseEntity<Void> registerReader(@RequestBody Reader reader){
reader.builderReader();
readerService.saveReader(reader);
return ResponseEntity.ok().build();
}
//发送邮箱验证码
@PostMapping("/verifyMailCode/{account}/{email}")
@ResponseBody
public ResponseEntity<Void> verifyMailCode(@PathVariable("account") String account,
@PathVariable("email") String email){
readerService.verifyMailCode(account,email);
return ResponseEntity.ok().build();
}
}
图书管理控制器
@RequestMapping("/manager/books")
@RestController()
public class MBookController {
@Autowired
private BookService bookService;
//分页获取图书信息 并可查找
@GetMapping(value = "/{page}/{size}")
public ResponseEntity<Page<Books>> booksList(@PathVariable("page") Integer page,
@PathVariable("size") Integer size,
Books book){
return ResponseEntity.ok(bookService.getBookList(page,size,book));
}
//添加图书
@PostMapping
public ResponseEntity<Void> addBook(@RequestBody Books books){
bookService.addBook(books);
return ResponseEntity.status(HttpStatus.CREATED).build();
}
//修改图书
@PutMapping
public ResponseEntity<Void> modifyBook(@RequestBody Books books){
bookService.modifyBook(books);
return ResponseEntity.ok().build();
}
//修改图书的状态
@PutMapping("/{bId}/{status}")
public ResponseEntity<Void> modifyBookStatus(@PathVariable("bId") Integer bId,
@PathVariable("status") Boolean status){
bookService.modifyBookStatus(bId,status);
return ResponseEntity.ok().build();
}
//修改图书的总数量
@PutMapping("/total/{bId}/{total}")
public ResponseEntity<Void> modifyBookTotal(@PathVariable("bId") Integer bId,
@PathVariable("total") Integer total){
bookService.modifyBookTotal(bId,total);
return ResponseEntity.ok().build();
}
// //删除图书 多个
@DeleteMapping
public ResponseEntity<Void> deleteBookBybIds(@RequestBody List<Integer> ids){
bookService.deleteBookBybIds(ids);
return ResponseEntity.ok().build();
}
//删除图书 一个
@DeleteMapping("/{bId}")
public ResponseEntity<Void> deleteBookBybId(@PathVariable("bId") Integer bId){
bookService.deleteBookBybIds(Arrays.asList(bId));
return ResponseEntity.ok().build();
}
}
如果也想学习本系统,下面领取。关注并回复:103ssm