基于javaweb的SSM办公用品商城系统(java+ssm+jsp+javascript+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

340923571103

350923571103

360923571103

370923571103

380923571103

390923571103

基于javaweb的SSM办公用品商城系统(java+ssm+jsp+javascript+mysql)

项目介绍

本项目分为管理员与普通用户两种角色,分为前台与后台;

管理员角色包含以下功能: 管理员登录,用户查看,一级分类管理,二级分类管理,办公用品管理,订单管理,留言管理,公告管理等功能。

用户角色包含以下功能: 按分类查看,用户登录,查看商品详情,加入购物车,提交订单,查看订单,提交留言,查看商城公告,修改密码等功能。

技术栈

  1. 后端:Spring+springmvc+mybatis

  2. 前端:JSP+css+javascript+jQuery

1
2
3
4
5
6
管理员:
admin 123456

用户:
user1 123456
user2 123456

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



@Controller
public class orderController {
@Autowired
private OrderService orderService;

@RequestMapping("/toOrder")
public String toOrder(HttpServletRequest request,Model model) throws Exception {
Orders orders = new Orders();
Cart cart = (Cart) request.getSession().getAttribute("cart");
User loginUser = (User) request.getSession().getAttribute("loginUser");
if(loginUser==null){
model.addAttribute("message", "对不起您还没有登录");
return "msg";
}
// 0表示没有付款、1表示已付款即将发货 2表示确认收货 3表示交易成功
orders.setState(0);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
Date date = simpleDateFormat.parse(simpleDateFormat.format(new Date()));
orders.setOrderTime(date);
orders.setUid(loginUser.getUid());
orders.setMoney(cart.getTotale());




/* orders.setState(0);

// //SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式

orders.setOrderTime(new java.util.Date());
orders.setUid(loginUser.getUid());
orders.setMoney(cart.getTotale());
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



@Controller
public class ajaxController {
@Autowired
private UserService userService;

@RequestMapping("/loginFindByid")
public void loginFindByid(HttpServletRequest request,
HttpServletResponse response, @RequestParam String username) {
response.setContentType("text/html;charset=UTF-8");
try {
User user = userService.loginFindByid(username);
if (user!=null) {
response.getWriter().write("可以登录");
}else{
response.getWriter().write("不可以登录");
}
} catch (Exception e) {
e.printStackTrace();
}
}

@RequestMapping("/registFindByid")
public void registFindByid(HttpServletRequest request,
HttpServletResponse response, @RequestParam String username) {
response.setContentType("text/html;charset=UTF-8");
try {
User user = userService.loginFindByid(username);
if (user!=null) {
response.getWriter().write("已经被注册");
}else{
response.getWriter().write("可以注册");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
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



@Controller
public class messageController {
@Autowired
private MessageService messageService;

@RequestMapping("/saveMessage")
public String saveMessage(@RequestParam String messageinfo,HttpServletRequest request,Model model) throws Exception {
Message Message = new Message();

User loginUser = (User) request.getSession().getAttribute("loginUser");
if(loginUser==null){
model.addAttribute("message", "对不起您还没有登录");
return "msg";
}

java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Message.setMessage(messageinfo);
Message.setUid(loginUser.getUid());
Message.setMessagedate(sdf.format(new Date()));

messageService.insertMessage(Message);

request.getSession().setAttribute("Message", Message);
return "redirect:/messageList.action?page=1";
}


// 显示留言板全部留言
@RequestMapping("/messageList")
public String messageList(@RequestParam int page, Model model,
HttpServletRequest request) throws Exception {
PageBean<Message> pageBean = messageService.findAllMessageByPage(page);
model.addAttribute("pageBean", pageBean);
return "messageList";
}
}


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

@Controller
public class checkImgController {
@RequestMapping("checkImg")
public void checkImg(HttpServletRequest request ,HttpServletResponse response) throws IOException {

int width = 120;
int height = 30;

// 步骤一 绘制一张内存中图片
BufferedImage bufferedImage = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);

// 步骤二 图片绘制背景颜色 ---通过绘图对象
Graphics graphics = bufferedImage.getGraphics();// 得到画图对象 --- 画笔
// 绘制任何图形之前 都必须指定一个颜色
graphics.setColor(getRandColor(200, 250));
graphics.fillRect(0, 0, width, height);

// 步骤三 绘制边框
graphics.setColor(Color.WHITE);
graphics.drawRect(0, 0, width - 1, height - 1);

// 步骤四 四个随机数字
Graphics2D graphics2d = (Graphics2D) graphics;
// 设置输出字体
graphics2d.setFont(new Font("宋体", Font.BOLD, 18));

// String words
// ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
String words = "\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728\u4eba\u4eec\u6709\u6765\u4ed6\u8fd9\u4e0a\u7740\u4e2a\u5730\u5230\u5927\u91cc\u8bf4\u5c31\u53bb\u5b50\u5f97\u4e5f\u548c\u90a3\u8981\u4e0b\u770b\u5929\u65f6\u8fc7\u51fa\u5c0f\u4e48\u8d77\u4f60\u90fd\u628a\u597d\u8fd8";
words="0123456789";
Random random = new Random();// 生成随机数
// 定义StringBuffer
StringBuffer sb = new StringBuffer();
// 定义x坐标
int x = 10;
for (int i = 0; i < 4; i++) {
// 随机颜色
graphics2d.setColor(new Color(20 + random.nextInt(110), 20 + random
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
	}
Category existCategory = categoryService.findCategory(cid);
model.addAttribute("existCategory", existCategory);
return "admin/category/edit";
}

@RequestMapping("/admin/adminCategory_update")
public String adminCategory_update(@RequestParam int cid,
@RequestParam String cname,HttpServletRequest request) {
Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
if(adminuserLogin==null){
request.getSession().setAttribute("message","对不起您还没有登录");
return "admin/index";
}
Category category = new Category();
category.setCid(cid);
category.setCname(cname);
categoryService.adminCategory_update(category);
return "redirect:/admin/adminCategory_findAll.action";
}

@RequestMapping("/admin/adminCategory_delete")
public String adminCategory_delete(@RequestParam int cid,HttpServletRequest request) throws Exception {
Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
if(adminuserLogin==null){
request.getSession().setAttribute("message","对不起您还没有登录");
return "admin/index";
}
categorySecondService.adminCategorySecond_deleteByCid(cid);
categoryService.deleteCategoryByCid(cid);
return "redirect:/admin/adminCategory_findAll.action";
}

// admin 的二级分类的管理
@RequestMapping("/admin/adminCategorySecond_findAllByPage")
public String adminCategorySecond_findAllByPage(@RequestParam int page,Model model,HttpServletRequest request) {
Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
if(adminuserLogin==null){
request.getSession().setAttribute("message","对不起您还没有登录");
return "admin/index";
}
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

@Controller
public class checkImgController {
@RequestMapping("checkImg")
public void checkImg(HttpServletRequest request ,HttpServletResponse response) throws IOException {

int width = 120;
int height = 30;

// 步骤一 绘制一张内存中图片
BufferedImage bufferedImage = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);

// 步骤二 图片绘制背景颜色 ---通过绘图对象
Graphics graphics = bufferedImage.getGraphics();// 得到画图对象 --- 画笔
// 绘制任何图形之前 都必须指定一个颜色
graphics.setColor(getRandColor(200, 250));
graphics.fillRect(0, 0, width, height);

// 步骤三 绘制边框
graphics.setColor(Color.WHITE);
graphics.drawRect(0, 0, width - 1, height - 1);

// 步骤四 四个随机数字
Graphics2D graphics2d = (Graphics2D) graphics;
// 设置输出字体
graphics2d.setFont(new Font("宋体", Font.BOLD, 18));

// String words
// ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
String words = "\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728\u4eba\u4eec\u6709\u6765\u4ed6\u8fd9\u4e0a\u7740\u4e2a\u5730\u5230\u5927\u91cc\u8bf4\u5c31\u53bb\u5b50\u5f97\u4e5f\u548c\u90a3\u8981\u4e0b\u770b\u5929\u65f6\u8fc7\u51fa\u5c0f\u4e48\u8d77\u4f60\u90fd\u628a\u597d\u8fd8";
words="0123456789";
Random random = new Random();// 生成随机数
// 定义StringBuffer
StringBuffer sb = new StringBuffer();
// 定义x坐标
int x = 10;
for (int i = 0; i < 4; i++) {
// 随机颜色
graphics2d.setColor(new Color(20 + random.nextInt(110), 20 + random
.nextInt(110), 20 + random.nextInt(110)));
// 旋转 -30 --- 30度


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