基于javaweb+mysql的ssm推荐算法图书商城系统(java+ssm+jsp+js+jq+layui+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM推荐算法图书商城系统(java+ssm+jsp+js+jq+layui+mysql)
项目介绍
基于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
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目; 3. 将项目中db.xml配置文件中的数据库配置改为自己的配置,然后运行;
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());
datatable.setRecordsFiltered(pageHelp.getRecord());
datatable.setRecordsTotal(pageHelp.getRecord());
return datatable;
//跳转订单页面
@RequestMapping("userGoOrder")
public String userGoOrder(HttpSession session){
return "user/myOrder";
//跳转历史订单
@RequestMapping("userGoSuccessOrder")
public String userGoSuccessOrder(){
return "user/myOrderSuccess";
AjaxResult aj=new AjaxResult();
int rs = userService.addUserOne(userinfo);
aj.setTag(rs);
return aj;
//查登陆的用户
@RequestMapping("readUserinfo")
@ResponseBody
public AjaxResult readUserinfo(Userinfo userinfo,HttpServletRequest request){
AjaxResult aj=new AjaxResult();
Userinfo usr= userService.selectUserinfoById(userinfo);
if(usr!=null){
aj.setTag(usr);
return aj;
return datatable;
//跳转个人账户页面
@RequestMapping("userAccount")
public String userAccount(){
return "user/account";
//加载个人积分
@RequestMapping("userAccountLimit")
@ResponseBody
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);
//查看当前订单
@RequestMapping("userOrderLimit")
@ResponseBody
public DataTables userOrderLimit(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.selectOrderLimit(map);
DataTables datatable=new DataTables();
datatable.setData(pageHelp.getList());
datatable.setRecordsFiltered(pageHelp.getRecord());
datatable.setRecordsTotal(pageHelp.getRecord());
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;
//获得金额
@RequestMapping("getMoneyAcount")
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");
return "redirect:userLoginGet";
//商品详情
@RequestMapping("proDatail")
public String gotoProDatail(HttpServletRequest request,Snackinfo snack){
@ResponseBody
public DataTables userOrderLimit(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.selectOrderLimit(map);
DataTables datatable=new DataTables();
datatable.setData(pageHelp.getList());
datatable.setRecordsFiltered(pageHelp.getRecord());
datatable.setRecordsTotal(pageHelp.getRecord());
return datatable;
//跳转订单页面
@ResponseBody
public String userOrderPayMoneyConfirm(HttpServletRequest request,Float payNumber,Float uMoney,String uPasword,String oId){
Userinfo userinfo = (Userinfo)request.getSession().getAttribute("exituser");
if(userinfo.getuPassword().equals(uPasword)){
sorderService.updateOrderByoId(oId);
userService.updateUserinfoBypay(userinfo.getuId(), uMoney-payNumber);
}else{
return ResponseUtil.errorToClient();
return ResponseUtil.successToClient();
//删除订单
@RequestMapping("deleteMyOrder")
@ResponseBody
request.getSession().setAttribute("adminId", adminSelect.get(0).getAdId());
List<Permission> allPer = adminLoginService.selectAllPermission();
List<Permission> userPer = adminLoginService.selectRolePermission(adminSelect.get(0).getRoleId());
request.getSession().setAttribute("allPer", allPer);
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();
public String deleteAdminOrder(String oId){
return ResponseUtil.successToClient(adminOrderService.deleteAdminOrder(oId));
//跳转管理员信息
@RequestMapping("mainToAdminuser")
public String mainToAdminuser(){
return "admin/persionInfo/adminInfo";
//加载管理员信息
@RequestMapping("mainSelectAdminuser")
@ResponseBody
public String mainSelectAdminuser(HttpServletRequest request){
int adId =(int)request.getSession().getAttribute("adminId");
public String deleteAdminOrder(String oId){
return ResponseUtil.successToClient(adminOrderService.deleteAdminOrder(oId));
//跳转管理员信息
@RequestMapping("mainToAdminuser")
public String mainToAdminuser(){
return "admin/persionInfo/adminInfo";
//加载管理员信息
@RequestMapping("mainSelectAdminuser")
@ResponseBody
public String mainSelectAdminuser(HttpServletRequest request){
int adId =(int)request.getSession().getAttribute("adminId");
return ResponseUtil.successToClient(userService.selectAdminInfo(adId));
map.put("oId", oId);
map.put("pageStart",start);
map.put("pageSize",length);
PageHelp<DoSnack> pageHelp = shopService.selectOrderSnack(map);
DataTables datatable=new DataTables();
datatable.setData(pageHelp.getList());
datatable.setRecordsFiltered(pageHelp.getRecord());
datatable.setRecordsTotal(pageHelp.getRecord());
return datatable;
//type页面
@RequestMapping("puffingType")
public String puffing(HttpServletRequest request,DoSnackType doSnackType){
@ResponseBody
public AjaxResult getUserOne(Userinfo userinfo){
AjaxResult aj=new AjaxResult();
Userinfo rs = userService.selectUserOne(userinfo);
aj.setTag(rs);
return aj;
//注册
@RequestMapping("addUserRegister")
@ResponseBody
public AjaxResult addUserOne(Userinfo userinfo){
AjaxResult aj=new AjaxResult();
return "user/account";
//加载个人积分
@RequestMapping("userAccountLimit")
@ResponseBody
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;
//获得金额
@RequestMapping("getMoneyAcount")
@ResponseBody
public Object getMoneyAcount(HttpServletRequest request){
return request.getSession().getAttribute("money");
//查看当前订单
@RequestMapping("userOrderLimit")
@ResponseBody
@RequestMapping("userOrderPayMoneyConfirm")
@ResponseBody
public String userOrderPayMoneyConfirm(HttpServletRequest request,Float payNumber,Float uMoney,String uPasword,String oId){
Userinfo userinfo = (Userinfo)request.getSession().getAttribute("exituser");
if(userinfo.getuPassword().equals(uPasword)){
sorderService.updateOrderByoId(oId);
userService.updateUserinfoBypay(userinfo.getuId(), uMoney-payNumber);
}else{
return ResponseUtil.errorToClient();
return ResponseUtil.successToClient();
//删除订单
@RequestMapping("deleteMyOrder")
@ResponseBody