基于javaweb的SSM+Maven在线图书商城系统(java+ssm+jsp+jquery+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

420123012402

430123012402

440123012402

450123012402

470123012402

480123012402

基于javaweb的SSM+Maven在线图书商城系统(java+ssm+jsp+jquery+mysql)

项目介绍

本项目分为前后台,前台普通用户登录,后台管理员登录;

管理员角色包含以下功能: 管理员角色登录,个人信息修改,商城用户管理,订单管理,商品管理等功能。

用户角色包含以下功能: 用户角色首页,用户角色登录注册,查看图书详情,加入购物车,提交订单,订单付款,个人信息修改,个人订单查询等功能。

环境需要

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

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,前台地址:http://localhost:8080/snack/shop/index  后台地址:http://localhost:8080/snack/admin/login/adminLogin

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
	@ResponseBody
public String updateGoAdminById(HttpServletRequest request,Admin admin){
return ResponseUtil.successToClient(adminUserService.selectAdminByOne(admin));
}

//更新用户
@RequestMapping("updateAdminById")
@ResponseBody
public String updateAdminById(Admin admin){
return ResponseUtil.successToClient(adminUserService.updateAdmin(admin));
}

}
package com.snack.web;





@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(){
System.out.println("存储过程相加:"+accountMapper.selectNum(4, 6));
return "admin/adminLogin";
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
		String oId,String oTimeStart,String oTimeEnd,String adUserName){
Map<Object,Object> map=new HashMap<Object, Object>();
map.put("pageStart",start);
map.put("pageSize",length);
map.put("oId",oId);
map.put("oTimeStart",oTimeStart);
map.put("oTimeEnd",oTimeEnd);
map.put("adUserName",adUserName);
PageHelp<DoAdminOrder> pageHelp= adminOrderService.selectAdminOrderLimit(map);
DataTables datatable=new DataTables();
datatable.setData(pageHelp.getList());
datatable.setRecordsFiltered(pageHelp.getRecord());
datatable.setRecordsTotal(pageHelp.getRecord());
return datatable;
}

//删除订单
@RequestMapping("deleteAdminOrder")
@ResponseBody
public String deleteAdminOrder(String oId){
return ResponseUtil.successToClient(adminOrderService.deleteAdminOrder(oId));
}

//update加载订单
@RequestMapping("updateSelectAdminOrder")
@ResponseBody
public String updateSelectAdminOrder(int rId){
return ResponseUtil.successToClient(adminOrderService.updateSelectAdminOrder(rId));
}

//update订单
@RequestMapping("updateAdminOrder")
@ResponseBody
public String updateAdminOrder(Receiptinfo receiptinfo){
return ResponseUtil.successToClient(adminOrderService.updateAdminOrder(receiptinfo));
}

//updateOrderDetial加载订单
@RequestMapping("updateSelectAdminOrderDetial")
@ResponseBody
public String updateSelectAdminOrderDetial(int dId){
return ResponseUtil.successToClient(adminOrderService.updateSelectAdminOrderDetial(dId));
}

//updateOrderDetial订单
@RequestMapping("updateOrderdetail")
@ResponseBody
public String updateOrderdetail(Orderdetail orderdetail){
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31



@Controller
@RequestMapping("/user/")
public class UserControll {

@Autowired
private userService userService;

@Autowired
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();
Userinfo rs = userService.selectUserOne(userinfo);
aj.setTag(rs);
return aj;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
		 aj.setTag(usr);
}
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";
}

//加载个人信息界面
@RequestMapping("userInfo")
public String gotoUserInfo(){
return "user/userInfo";
}

//跳转个人积分页面
@RequestMapping("userIntegral")
public String userIntegral(){
return "user/integral";
}

//跳转个人图片
@RequestMapping("userGerenImg")
public String userGerenImg(){
return "user/gerenImg";
}

//加载个人积分
@RequestMapping("userIntegralLimit")
@ResponseBody
public DataTables userIntegralLimit(HttpServletRequest request,int start,int length){
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

@RequestMapping("mainToUserinfo")
public String mainToUserinfo(){
return "admin/user/adminUserinfo";
}

//加载用户
@RequestMapping("adminUserinfoLimit")
@ResponseBody
public DataTables adminUserinfoLimit(HttpServletRequest request,int start,int length,Userinfo userinfo){
Map<Object,Object> map=new HashMap<Object, Object>();
map.put("pageStart",start);
map.put("pageSize",length);
PageHelp<Userinfo> pageHelp= adminUserService.selectAdminUserinfoLimit(map,userinfo);
DataTables datatable=new DataTables();
datatable.setData(pageHelp.getList());
datatable.setRecordsFiltered(pageHelp.getRecord());
datatable.setRecordsTotal(pageHelp.getRecord());
return datatable;
}

//删除用户
@RequestMapping("delUserinfoById")
@ResponseBody
public String delUserinfoById(int uId){
return ResponseUtil.successToClient(adminUserService.delUserinfoById(uId));
}

//更新加载用户
@RequestMapping("updateGoUserinfoById")
@ResponseBody
public String updateGoUserinfoById(int uId){
return ResponseUtil.successToClient(adminUserService.updateGoUserinfoById(uId));
}

//更新用户
@RequestMapping("updateUserinfoById")
@ResponseBody
public String updateUserinfoById(Userinfo userinfo){
return ResponseUtil.successToClient(adminUserService.updateUserinfoById(userinfo));
}

@RequestMapping("mainToAdmin")
public String mainToAdmin(){
return "admin/user/adminAdmin";
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

@Autowired
private userService userService;

@RequestMapping(value="/add",method=RequestMethod.POST)
public String addSorder(Snackinfo snackinfo,HttpSession session) {

System.out.println("-------addCar()------"+snackinfo.getsNumber());

// 1:通过 product.id获取当前的商品数据
Snackinfo findSnackinfo = sorderService.snackfindById(snackinfo.getsId());

findSnackinfo.setsNumber(snackinfo.getsNumber());

//2:判断当前session是否有购物车,如果没有则创建
if (session.getAttribute("receiptinfo")==null) {

//创建购物车,存到session中
session.setAttribute("receiptinfo", new Receiptinfo(new HashSet<Orderdetail>()));
}
Receiptinfo receiptinfo = (Receiptinfo)session.getAttribute("receiptinfo");

//3:把商品信息转化为sorder,并且添加到购物车中(判断购物车是否重复)
receiptinfo = sorderService.addSorder(receiptinfo, findSnackinfo);
receiptinfo.setoPhone(cluTotal(receiptinfo));
return "redirect:gotocar";
}


@RequestMapping("gotocar")
public String gotocar() {
return "product/car";
}

//计算总金额
public String cluTotal(Receiptinfo receiptinfo) {

double tal=0.0;
for(Orderdetail temp : receiptinfo.getOrderdetailSet()){

tal+=temp.getoMoney()*temp.getoNum();
}


项目链接:
https://javayms.github.io?id=241122572008200th
https://javayms.pages.dev?id=241122572008200th