基于javaweb+mysql的ssm书城管理系统(java+ssm+jsp+jquery+layui+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM书城管理系统(java+ssm+jsp+jquery+layui+mysql)
项目介绍
该系统分为前台和后台两个功能模块,包含管理员和用户两个角色。
1.前台功能模块 首页、新闻资讯、图书列表、图书分类、图书搜索、图书详情、图书投票、在线留言、添加到购物车、添加到收藏夹、用户登录、用户注册、个人中心、收货地址管理、购买图书、下单、结算付款、查看订单信息等功能
2.后台功能模块 新闻管理、图书管理、图书类别管理、订单管理、库存管理、留言管理、内容管理、用户管理、销售量统计、销售额统计、订单量统计、个人信息修改等功能
环境需要
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等版本均可;
技术栈
后台框架:Spring、SpringMVC、MyBatis UI界面:LayUI、jQuery 、JSP 数据库:MySQL
使用说明
-
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
-
使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
public String showlogin(HttpServletRequest request){
HttpSession session = request.getSession();
session.removeAttribute("frontuser");
session.removeAttribute("frontuserId");
return "redirect:userLoginGet";
//商品详情
@RequestMapping("proDatail")
public String gotoProDatail(HttpServletRequest request,Snackinfo snack){
Snackinfo sck = shopService.selectById(snack);
request.setAttribute("sck", sck);
return "product/proDetail";
request.getSession().setAttribute("exituser", exituser);
request.getSession().setAttribute("frontuser", exituser.getuUsername());
request.getSession().setAttribute("frontuserId", exituser.getuId());
request.getSession().setAttribute("money", exituser.getuMoney());
return "redirect:index";
//退出登录
@RequestMapping("userlogout")
public String showlogin(HttpServletRequest request){
HttpSession session = request.getSession();
session.removeAttribute("frontuser");
session.removeAttribute("frontuserId");
public DataTables userAccountLimit(HttpServletRequest request,int start,int length){
Map<Object,Object> map=new HashMap<Object, Object>();
map.put("uId",request.getSession().getAttribute("frontuserId"));
map.put("pageStart",start);
map.put("pageSize",length);
PageHelp<Account> pageHelp= userService.selectAccountLimit(map);
DataTables datatable=new DataTables();
datatable.setData(pageHelp.getList());
datatable.setRecordsFiltered(pageHelp.getRecord());
datatable.setRecordsTotal(pageHelp.getRecord());
return datatable;
//获得金额
datatable.setRecordsTotal(pageHelp.getRecord());
return datatable;
//type页面
@RequestMapping("puffingType")
public String puffing(HttpServletRequest request,DoSnackType doSnackType){
List<Snackinfo> TypeSnackList=shopService.selectPuffing(doSnackType.getType(),doSnackType.getSnackName());
Type type = typeService.getOne(doSnackType.getType());
request.setAttribute("TypeSnackTitle",type.getName());
request.setAttribute("TypeNum",doSnackType.getType());
request.setAttribute("TypeSnackList",TypeSnackList);
return "user/typePage";
后台管理员管理控制层:
return "redirect:adminGoMain";
request.setAttribute("msg","用户名或密码错误");
return "admin/adminLogin";
//登录Main
@RequestMapping("adminGoMain")
public String adminLogin(HttpServletRequest request){
List<Type> typeList = typeService.getall();
request.setAttribute("adminMenu",adminLoginService.selectAllAdminMenu());
request.setAttribute("adminMenuChild",adminLoginService.selectAllAdminMenuChild());
request.getSession().setAttribute("type",typeList);
return "admin/adminMain";
//退出
PageHelp<Integral> pageHelp= userService.selectIntegralLimit(map);
DataTables datatable=new DataTables();
datatable.setData(pageHelp.getList());
datatable.setRecordsFiltered(pageHelp.getRecord());
datatable.setRecordsTotal(pageHelp.getRecord());
return datatable;
//跳转个人账户页面
@RequestMapping("userAccount")
public String userAccount(){
return "user/account";
//加载个人积分
request.getSession().setAttribute("userPer", userPer);
return "redirect:adminGoMain";
request.setAttribute("msg","用户名或密码错误");
return "admin/adminLogin";
//登录Main
@RequestMapping("adminGoMain")
public String adminLogin(HttpServletRequest request){
List<Type> typeList = typeService.getall();
request.setAttribute("adminMenu",adminLoginService.selectAllAdminMenu());
request.setAttribute("adminMenuChild",adminLoginService.selectAllAdminMenuChild());
request.getSession().setAttribute("type",typeList);
return "admin/adminMain";
return aj;
//修改个人信息
@RequestMapping("editUserinfo")
@ResponseBody
public int editUserinfo(Userinfo userinfo){
int rs= userService.updateUserinfoById(userinfo);
return rs;
//跳转注册
@RequestMapping("userPersonalInfo")
public String gotoPersonalInfo(){
return "user/personalInfo";
datatable.setRecordsTotal(pageHelp.getRecord());
return datatable;
//获得金额
@RequestMapping("getMoneyAcount")
@ResponseBody
public Object getMoneyAcount(HttpServletRequest request){
return request.getSession().getAttribute("money");
//查看当前订单
@RequestMapping("userOrderLimit")
@ResponseBody
public DataTables userOrderLimit(HttpServletRequest request,int start,int length){
private sorderService sorderService;
@Autowired
private adminOrderService adminOrderService;
//跳转注册
@RequestMapping("userRegisterGet")
public String gotoRegister(){
return "user/register";
//注册判断用户名存在
@RequestMapping("selectUserOne")
@ResponseBody
public AjaxResult getUserOne(Userinfo userinfo){
AjaxResult aj=new AjaxResult();
return "user/personalInfo";
//加载个人信息界面
@RequestMapping("userInfo")
public String gotoUserInfo(){
return "user/userInfo";
//跳转个人积分页面
@RequestMapping("userIntegral")
public String userIntegral(){
return "user/integral";
//跳转个人图片
@RequestMapping("userGerenImg")
public String userGerenImg(){
return "user/gerenImg";
public String gotoUserLogin(Userinfo userinfo,HttpServletRequest request){
Userinfo exituser = shopService.userLogin(userinfo);
if(exituser ==null){
request.setAttribute("msg","用户名或密码错误");
return "user/userLogin";
request.getSession().setAttribute("exituser", exituser);
request.getSession().setAttribute("frontuser", exituser.getuUsername());
request.getSession().setAttribute("frontuserId", exituser.getuId());
request.getSession().setAttribute("money", exituser.getuMoney());
return "redirect:index";
//退出登录
@RequestMapping("userlogout")
public String showlogin(HttpServletRequest request){
//请确认收货
@RequestMapping("userOrderConfirm")
@ResponseBody
public String userOrderConfirm(HttpServletRequest request,int id,int typeNum){
int eId;
if(typeNum==0){
eId = (int)request.getSession().getAttribute("adminId");
}else{
eId=0;
return ResponseUtil.successToClient(userService.upDateByorderConfirm(id,typeNum,eId));
//去付款
@RequestMapping("userOrderPayMoney")
@ResponseBody
return "user/index";
//登录
@RequestMapping("userLoginGet")
public String gotoUserLogin(){
return "user/userLogin";
@RequestMapping("userLoginPost")
public String gotoUserLogin(Userinfo userinfo,HttpServletRequest request){
Userinfo exituser = shopService.userLogin(userinfo);
if(exituser ==null){
request.setAttribute("msg","用户名或密码错误");
return "user/userLogin";
request.getSession().setAttribute("exituser", exituser);
@RequestMapping("userGoSuccessOrder")
public String userGoSuccessOrder(){
return "user/myOrderSuccess";
//查看当前订单
@RequestMapping("userSucOrderLimit")
@ResponseBody
public DataTables userSucOrderLimit(HttpServletRequest request,int start,int length){
Map<Object,Object> map=new HashMap<Object, Object>();
map.put("uId",request.getSession().getAttribute("frontuserId"));
map.put("pageStart",start);
map.put("pageSize",length);
PageHelp<DoMyOrder> pageHelp= userService.selectMySuccessOrderLimit(map);
DataTables datatable=new DataTables();
datatable.setData(pageHelp.getList());
@Controller
@RequestMapping("/admin/login/")
public class AdminLogin {
@Autowired
private adminLoginService adminLoginService;
@Autowired
private AccountMapper accountMapper;
@Autowired
private typeService typeService;
//登录login
@RequestMapping("adminLogin")
@Controller
@RequestMapping("/admin/login/")
public class AdminLogin {
@Autowired
private adminLoginService adminLoginService;
@Autowired
private AccountMapper accountMapper;
@Autowired
private typeService typeService;
//登录login
@RequestMapping("adminLogin")
public String adminLogin(){