作者主页:Java毕设网
简介: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版本;
6.是否Maven项目: 是;
三、技术栈
1. 后端:spring+springmvc+mybatis
2. 前端:JSP+css+javascript+jQuery+html
四、使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中db.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入http://localhost:8080/ 登录
五、运行截图
前台页面
后台页面
六、相关代码
用户管理控制器
/**
* 功能描述:系统用户模块控制层
*
* @Author 源码空间站
* http://www.shuyue.fun/
* @Date 2019/04/13.
*/
@Controller
@RequestMapping("/admin")
public class AdminController {
@Autowired
private IAdminService adminService;
@Autowired
private IUserService userService;
/**
* 功能描述:跳转到系统管理员列表页面
* @param request
* @param response
* @return
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/adminList")
public ModelAndView adminList(HttpServletRequest request,@RequestParam(value="page", required=false) Integer page,
@RequestParam(value="rows", required=false) Integer rows,Admin admin,
HttpServletResponse response) throws ServletException, IOException {
ModelAndView view = new ModelAndView();
if(page==null){
page = 1;
}
if(rows==null){
rows = 10;
}
List<Admin> adminList = adminService.getPageList(admin,page,rows);
PageInfo<Admin> pageInfo = new PageInfo<Admin>(adminList);
String pageTool = PageUtil.getPageToolAdmin(request, pageInfo.getTotal(), page, rows);
view.addObject("adminList",adminList);
view.addObject("pageTool",pageTool);
view.setViewName("jsp/admin/pages/admin-list");
return view;
}
/**
* 功能描述:跳转到新增管理员页面
* @param request
* @param response
* @return
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/toAdd")
public ModelAndView toAdd(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ModelAndView view = new ModelAndView();
view.setViewName("jsp/admin/pages/admin-add");
return view;
}
/**
* 功能描述:新增菜单
* @param request
* @param response
* @return
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/adminAdd")
public ModelAndView adminAdd(Admin admin,HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ModelAndView view = new ModelAndView();
admin.setPassword(SafeUtil.encode(admin.getPassword()));
adminService.add(admin);
view.addObject("msg","新增成功");
view.setViewName("jsp/admin/pages/admin-add");
return view;
}
/**
* 功能描述:重置管理员密码
* @param request
* @param response
* @return
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/adminRe")
public ModelAndView adminRe(Admin admin,HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
ModelAndView view = new ModelAndView();
Admin tempAdmin = adminService.findById(admin.getId());
tempAdmin.setPassword(SafeUtil.encode("123456"));
adminService.updateById(tempAdmin);
view.setViewName("redirect:adminList.do");
return view;
}
/**
* 功能描述:删除管理员信息
* @param request
* @param response
* @return
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/adminDelete")
public ModelAndView adminDelete(HttpServletRequest request,@RequestParam(value="id",required=true) Integer id,
HttpServletResponse response) throws ServletException, IOException {
ModelAndView view = new ModelAndView();
try {
adminService.deleteById(id);
} catch (Exception e) {
}
view.setViewName("redirect:adminList.do");
return view;
}
}
图书管理控制
/**
* 功能描述:书籍模块控制层
*
* @Author 源码空间站
* http://www.shuyue.fun/
* @Date 2019/04/12.
*/
@Controller
@RequestMapping("/book")
public class BookController {
@Autowired
private ICategoryService categoryService;
@Autowired
private IUserService userService;
@Autowired
private IBookService bookService;
/**
* 功能描述:跳转到书籍列表页面
* @param request
* @param response
* @return
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/bookList")
public ModelAndView bookList(HttpServletRequest request,@RequestParam(value="page", required=false) Integer page,
@RequestParam(value="rows", required=false) Integer rows,Book book,
HttpServletResponse response) throws ServletException, IOException {
ModelAndView view = new ModelAndView();
if(page==null){
page = 1;
}
if(rows==null){
rows = 10;
}
List<Book> bookList = bookService.getPageList(book,page,rows);
PageInfo<Book> pageInfo = new PageInfo<Book>(bookList);
String pageTool = PageUtil.getPageToolAdmin(request, pageInfo.getTotal(), page, rows);
view.addObject("bookList",bookList);
view.addObject("pageTool",pageTool);
view.setViewName("jsp/admin/pages/book-list");
return view;
}
/**
* 功能描述:跳转到新增页面
* @param request
* @param response
* @return
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/toAdd")
public ModelAndView toAdd(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ModelAndView view = new ModelAndView();
List<Category> categoryList = categoryService.getList();
view.addObject("categoryList",categoryList);
view.setViewName("jsp/admin/pages/book-add");
return view;
}
/**
* 功能描述:保存新增记录
* @param request
* @param response
* @return
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/addBook")
public ModelAndView addBook(Book book,@RequestParam("photo") CommonsMultipartFile photo,HttpServletRequest request) {
DiskFileItem diskFileItem = (DiskFileItem)photo.getFileItem();
File file = diskFileItem.getStoreLocation();
book.setCover(UploadUtil.fileUpload(file, photo.getOriginalFilename(), "picture",request));
ModelAndView view = new ModelAndView();
bookService.add(book);
view.setViewName("jsp/admin/pages/book-add");
view.addObject("msg","保存成功");
return view;
}
/**
* 功能描述:跳转到修改页面
* @param request
* @param response
* @return
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/bookUp")
public ModelAndView bookUp(HttpServletRequest request,@RequestParam("id")Integer id,
HttpServletResponse response) throws ServletException, IOException {
ModelAndView view = new ModelAndView();
List<Category> categoryList = categoryService.getList();
view.addObject("categoryList",categoryList);
Book tempBook = bookService.findById(id);
view.addObject("book",tempBook);
view.setViewName("jsp/admin/pages/book-update");
return view;
}
/**
* 功能描述:保存修改信息
* @param request
* @param response
* @return
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/bookUpdate")
public ModelAndView bookUpdate(Book book,HttpServletRequest request,@RequestParam("photo") CommonsMultipartFile photo,
HttpServletResponse response) throws ServletException, IOException {
ModelAndView view = new ModelAndView();
if (photo != null&&!photo.isEmpty()) {
DiskFileItem diskFileItem = (DiskFileItem)photo.getFileItem();
File file = diskFileItem.getStoreLocation();
book.setCover(UploadUtil.fileUpload(file, photo.getOriginalFilename(), "picture",request));
}
bookService.updateById(book);
view.setViewName("redirect:bookList.do");
return view;
}
/**
* 功能描述:删除菜单
* @param request
* @param response
* @return
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/bookDelete")
public ModelAndView bookDelete(HttpServletRequest request,@RequestParam("id")Integer id,
HttpServletResponse response) throws ServletException, IOException {
ModelAndView view = new ModelAndView();
bookService.deleteById(id);
view.setViewName("redirect:bookList.do");
return view;
}
/**
* 图书设置
* @return
*/
@RequestMapping("/bookSet")
public ModelAndView bookSet(@RequestParam("id") Integer id,@RequestParam("flag")Integer flag){
ModelAndView view = new ModelAndView();
Book book = bookService.findById(id);
switch (flag) {
case 10:
book.setSpecial(0);
break;
case 11:
book.setSpecial(1);
break;
case 20:
book.setNews(0);
break;
case 21:
book.setNews(1);
break;
case 30:
book.setSale(0);
break;
case 31:
book.setSale(1);
break;
}
bookService.updateById(book);
view.setViewName("redirect:bookList.do");
return view;
}
}