作者主页:夜未央5788
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
基于SSM的网上书城系统
系统分为用户和管理员
主要实现管理员;个人中心、用户管理、图书分类管理、图书信息管理、图书评价管理、系统管理、订单管理,
用户;个人中心、图书评价管理、我的收藏管理、订单管理、前台首页;首页、图书信息、图书资讯、我的、跳转到后台、购物车、在线客服等信息管理功能。
环境需要
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.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7/8.0等版本均可;
技术栈
后端:SSM(Spring+SpringMVC+Mybatis)
前端:JSP+CSS+JS+JQUERY+Layui
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
3. 将项目中db.xml配置文件中的数据库配置改为自己的配置,然后运行;
运行截图
相关代码
登录管理控制器
@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("/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();
}
}
购物车管理控制器
@RequestMapping("manager/reserveBorrow")
@RestController
public class MReserveBorrowBooksController {
@Autowired
private ReserveBorrowBooksService reserveBookService;
//分页查询 并可以带查询参数
@GetMapping("/{page}/{size}")
public ResponseEntity<Page<ReserveBorrowBooks>> borrowBookByPage(@PathVariable("page") Integer page,
@PathVariable("size") Integer size,
ReserveBorrowBooks reserveBorrowBooks){
return ResponseEntity.ok(reserveBookService.reserveBookByPage(page,size, reserveBorrowBooks));
}
//借书 一个
@PostMapping("/{resId}")
public ResponseEntity<Void> saveReserve(@PathVariable("resId") Integer resId){
reserveBookService.saveReserves(Arrays.asList(resId));
return ResponseEntity.status(HttpStatus.CREATED).build();
}
//借书 多个
@PostMapping
public ResponseEntity<Void> saveReserves(@RequestBody List<Integer> resIds){
reserveBookService.saveReserves(resIds);
return ResponseEntity.status(HttpStatus.CREATED).build();
}
}
如果也想学习本系统,下面领取。关注并回复:264ssm