Java项目:23 基于SSM实现的在线购物商城系统

作者主页:舒克日记

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文中获取源码

项目介绍

这是一个基于ssm框架的购物系统

  1. 该项目中有五个子模块。
  2. shop-manager模块负责导入该项目所需要的所有依赖包。
  3. shop-web模块负责存放前端代码以及项目的配置文件。
  4. shop-controller模块负责存放项目的控制器代码。
  5. shop-service模块负责存放项目的业务逻辑代码。
  6. shop-dao模块负责存放项目的mybatis数据库操作代码。

技术选型

运行环境:MySQL5.7+jdk1.8+Idea2020.3+Tomcat9

服务端技术:jsp+servlet+jdbc+jstl+el表达式

前端技术:bootstrap+jQuery+ajax

环境要求

1.运行环境:最好是java jdk1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.tomcat环境:Tomcat7.x,8.X,9.x版本均可

4.硬件环境:windows7/8/10 4G内存以上;或者Mac OS;

5.是否Maven项目:是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven.项目

6.数据库:MySql5.7/8.0等版本均可;

技术栈

后台框架:servlet、MyBatis

数据库:MySQL

环境:JDK8、TOMCAT、IDEA

使用说明

1.使用Navicati或者其它工具,在mysql中创建对应sq文件名称的数据库,并导入项目的sql文件;

2.使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;

3.将项目中config-propertiesi配置文件中的数据库配置改为自己的配置,然后运行;

运行指导

idea导入源码空间站顶目教程说明(Vindows版)-ssm篇:

http://mtw.so/5MHvZq

源码地址:http://codegym.top

运行截图

前端界面

微信截图_20240222170001

微信截图_20240222170012

微信截图_20240222170052

微信截图_20240222170102

微信截图_20240222170111

微信截图_20240222165908

微信截图_20240222165928

微信截图_20240222165950

后台界面微信截图_20240222170133

微信截图_20240222170149

微信截图_20240222170159

代码

BackstageController

package com.zt.controller;import com.zt.pojo.cart;
import com.zt.pojo.custom;
import com.zt.pojo.goods;
import com.zt.pojo.order;
import com.zt.service.*;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;@Controller
public class BackstageController {@Resourceprivate AdminService adminService;@Resourceprivate GoodsService goodsService;@Resourceprivate OrderService orderService;@Resourceprivate CustomService customService;@Resourceprivate CartService cartService;// 管理员后台界面跳转@RequestMapping(value = "/admin")public ModelAndView toBackstage(){ModelAndView modelAndView = new ModelAndView();modelAndView.setViewName("page/alogin.jsp");return modelAndView;}// 处理管理员登录@RequestMapping(value = "/alogin.action",method = RequestMethod.POST)public void alogin(@RequestParam(value = "cname") String cname,@RequestParam(value = "password") String password,HttpServletResponse response){PrintWriter out = null;try{out = response.getWriter();String result = adminService.loginService(cname,password);out.print(result);out.flush();}catch (IOException e){e.printStackTrace();}finally {}out.close();}// 添加商品信息@RequestMapping(value = "/addGoods.action",method = RequestMethod.POST)public void addGoods(@RequestParam(value = "id") String id,@RequestParam(value = "img") String img,@RequestParam(value = "title") String title,@RequestParam(value = "info") String info,@RequestParam(value = "name") String name,@RequestParam(value = "price") String price,@RequestParam(value = "stock") String stock,@RequestParam(value = "para") String para,@RequestParam(value = "type") String type,@RequestParam(value = "weight") String weight,HttpServletResponse response){PrintWriter out = null;try{out = response.getWriter();goods goods = new goods(id,img,title,info,name,new Integer(price),new Integer(stock),para,type,new Integer(weight));goodsService.addGoodsService(goods);out.print("success");out.flush();}catch (IOException e){e.printStackTrace();}finally {}out.close();}// 添加订单信息@RequestMapping(value = "/addOrder.action",method = RequestMethod.POST)public void addOrder(@RequestParam(value = "rid") String rid,@RequestParam(value = "cname") String cname,@RequestParam(value = "ids") String ids,@RequestParam(value = "names") String names,@RequestParam(value = "price") String price,HttpServletResponse response){PrintWriter out = null;try{out = response.getWriter();order order = new order(rid,cname,ids,names,new Integer(price));orderService.addOrderService(order);out.print("success");out.flush();}catch (IOException e){e.printStackTrace();}finally {}out.close();}// 删除单个字段@RequestMapping(value = "/deleteItem.action",method = RequestMethod.POST)public void deleteItem1(@RequestParam("table") String table,@RequestParam("id") String id,HttpServletResponse response){PrintWriter out = null;try{out = response.getWriter();switch (table){case "custom":{customService.deleteCustomService(id);break;}case "goods":{goodsService.deleteGoodsService(id);break;}case "cart":{String[] s = id.split("_");cartService.deleteCartService(s[0],s[1]);break;}case "order":{orderService.deleteOrderService(id);break;}default:break;}out.print("success");out.flush();}catch (IOException e){e.printStackTrace();}finally {}out.close();}// 修改客户信息@RequestMapping(value = "/updateCustom2.action",method = RequestMethod.POST)public void updateCustom2(@RequestParam(value = "cname") String cname,@RequestParam(value = "name") String name,@RequestParam(value = "phone") String phone,@RequestParam(value = "address") String address,@RequestParam(value = "password") String password,@RequestParam(value = "question") String question,@RequestParam(value = "answer") String answer,HttpServletResponse response){PrintWriter out = null;try{out = response.getWriter();custom c = new custom(cname,password,name,phone,address,question,answer);customService.updateCustomService(c);out.print("success");out.flush();}catch (IOException e){e.printStackTrace();}finally {}out.close();}// 修改商品信息@RequestMapping(value = "/updateGoods.action",method = RequestMethod.POST)public void updateGoods(@RequestParam(value = "id") String id,@RequestParam(value = "img") String img,@RequestParam(value = "title") String title,@RequestParam(value = "info") String info,@RequestParam(value = "name") String name,@RequestParam(value = "price") String price,@RequestParam(value = "stock") String stock,@RequestParam(value = "para") String para,@RequestParam(value = "type") String type,@RequestParam(value = "weight") String weight,HttpServletResponse response){PrintWriter out = null;try{out = response.getWriter();goods goods = new goods(id,img,title,info,name,new Integer(price),new Integer(stock),para,type,new Integer(weight));goodsService.updateGoodsService(goods);out.print("success");out.flush();}catch (IOException e){e.printStackTrace();}finally {}out.close();}// 修改购物车信息@RequestMapping(value = "/updateCart.action",method = RequestMethod.POST)public void updateCart(@RequestParam(value = "cname") String cname,@RequestParam(value = "id") String id,@RequestParam(value = "img") String img,@RequestParam(value = "name") String name,@RequestParam(value = "price") String price,@RequestParam(value = "number") String number,HttpServletResponse response){PrintWriter out = null;try{out = response.getWriter();cart cart = new cart(cname,id,img,name,new Integer(price),new Integer(number));cartService.updateCartService(cart);out.print("success");out.flush();}catch (IOException e){e.printStackTrace();}finally {}out.close();}// 修改订单信息@RequestMapping(value = "/updateOrder.action",method = RequestMethod.POST)public void updateCart(@RequestParam(value = "rid") String rid,@RequestParam(value = "cname") String cname,@RequestParam(value = "ids") String ids,@RequestParam(value = "names") String names,@RequestParam(value = "price") String price,HttpServletResponse response){PrintWriter out = null;try{out = response.getWriter();order order = new order(rid,cname,ids,names,new Integer(price));orderService.updateOrderService(order);out.print("success");out.flush();}catch (IOException e){e.printStackTrace();}finally {}out.close();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/485034.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器人内部传感器阅读笔记及心得-位置传感器-电位器式位置传感器

位置传感器 位置感觉是机器人最基本的感觉要求,可以通过多种传感器来实现。位置传感器包括位置和角度检测传感器。常用的机器人位置传感器有电位器式、光电式、电感式、电容式、霍尔元件式、磁栅式及机械式位置传感器等。机器人各关节和连杆的运动定位精度要求、重…

[力扣 Hot100]Day31 K 个一组翻转链表

题目描述 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点…

charles-mock数据

1、通过Charles抓包,找到需要mock的接口,把返回的结果保存到本地。 路径:接口选中-右键保存(save Response) 2、打开保存的文件,文件返回的结果/结构改成自己想要的模式,改好后保存文件 3、选中…

RM电控讲义【HAL库篇】

这段代码中do while的作用: 宏定义中的语句块:do { ... } while (0) 允许你在宏定义中创建一个语句块,从而可以包含多条语句。这在宏定义中特别有用,因为宏只是简单的文本替换,不像函数那样有作用域和返回类型。因此&…

电阻知识详解

基本介绍 电阻阻碍电流流动:只要有电流流过电阻,就会产生功率损耗 基本单位:欧姆,Ω 换算单位:微欧(uΩ)、毫欧(mΩ)、千欧(kΩ)、兆欧&#x…

YOLO v9 出世!

当今的深度学习方法专注于如何设计最合适的目标函数,以使模型的预测结果能够尽可能地接近真实值。同时,还需要设计一种适当的架构,以便为预测获取足够的信息。现有方法忽略了一个事实,即当输入数据经过逐层特征提取和空间转换时&a…

Linux工具篇Vim

分享Linux的一些基础的工具,今天分享的就是Linux下的vim,vim其实是一个编辑器。我们可以理解为Windows下的一个记事本。 这个是vim的键盘图。 Linux编辑器-vim使用 vi/vim 的区别简单点来说,它们都是多模式编辑器,不同的是 vim 是…

前端基础自学整理|DOM树

DOM,文档对象模型(Document Object Model),简单的说,DOM是一种理念,一种思想,一个与系统平台和编程语言无关的接口,一种方法, 使 Web开发人员可以访问HTML元素!不是具体方…

K8S故障处理指南:网络问题排查思路

1. 前言 对于私有化环境,客户的网络架构,使用的云平台存在着各种差异,K8S网络可能会出现各种问题,此文着重讲解遇到此种问题的排查方法和思路,不会涉及相关网络底层技术描述. 环境说明 由于我们的k8s网络组件默认使…

gitlab的使用

前一篇文章我们已经知道Git人人都是中心,那他们怎么交互数据呢? • 使用GitHub或者码云等公共代码仓库 • 使用GitLab私有仓库 目录 一、安装配置gitlab 安装 初始化 这里初始化完成以后需要记住一个初始密码 查看状态 二、使用浏览器访问&#xf…

18.贪心算法

排序贪心 区间贪心 删数贪心 统计二进制下有多少1 int Getbit_1(int n){int cnt0;while(n){nn&(n-1);cnt;}return cnt; }暴力加一维前缀和优化 #include <iostream> #include <climits> using namespace std; #define int long long const int N2e510; in…

Qt 场景(QGraphicsScene)自绘可自由变换与移动的图元(QGraphicsObject)

文章目录 效果图矩形四个角矩形 效果图 在scene上绘制一个图元QGraphicsObject的矩形&#xff0c;可以自由拖动且拖动四个角可以自由变换矩形需要如下处理。 矩形四个角 四个角的点需要独立处理继承于QGraphicsObject,当我们点击时拖动时发送信号给矩形&#xff0c;进行矩形变…