基于javaweb+mysql的ssm在线甜品商城系统(java+ssm+jsp+javascript+mysql)

本文详细介绍了基于Java、Spring、SpringMVC和Mybatis技术构建的SSM在线甜品商城系统,包括管理员和用户角色功能、登录注册流程以及数据库操作,适用于课程设计、大作业和项目练习等场景。
摘要由CSDN通过智能技术生成

基于javaweb+mysql的ssm在线甜品商城系统(java+ssm+jsp+javascript+mysql)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb的SSM在线甜品商城系统(java+ssm+jsp+javascript+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版本;

技术栈

  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/
String action = req.getParameter("action");

switch(action) {

case "login":login(req, resp);break;

case "modifyPassword":modifyPassword(req, resp);break;

case "checkOldPassword":checkOldPassword(req, resp);break;

case "afterModifyPassword":afterModifyPassword(req, resp);break;

case "logout":logout(req, resp);break;

/**

* 用户登录

* @throws IOException

*/

public void login(HttpServletRequest req, HttpServletResponse resp) throws IOException {


goods.setMemory(formData.get("memory"));

goods.setCreateDate(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));

int d = service.addGoods(goods);

try {

if(d>0) {

JSONResult ok = JSONResult.ok();

resp.getWriter().println(JsonUtil.javaObjectToJson(ok));

}else {

JSONResult errorMsg = JSONResult.errorMsg("添加失败,请重试");

resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));

} catch (Exception e) {

e.printStackTrace();

/**

* 提交订单

* @throws IOException

*/

public void sendOrder(HttpServletRequest req, HttpServletResponse resp) throws IOException {

//设置请求编码格式:

req.setCharacterEncoding("utf-8");

//设置响应编码格式

resp.setContentType("text/html;charset=utf-8");

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

User user =(User) req.getSession().getAttribute("user");

Orders order = new Orders();


*/

public void deleteGoods(HttpServletRequest req,HttpServletResponse resp) throws IOException {

//设置请求编码格式:

req.setCharacterEncoding("utf-8");

//设置响应编码格式

resp.setContentType("text/html;charset=utf-8");

int id = Integer.parseInt(req.getParameter("id"));

int d = service.deleteGoodsById(id);

try {

if(d>0) {


/**

*  修改密码

* @throws IOException

*/

public void modifyPassword(HttpServletRequest req, HttpServletResponse resp) throws IOException {

//设置请求编码格式:

req.setCharacterEncoding("utf-8");

//设置响应编码格式

resp.setContentType("text/html;charset=utf-8");

String password = req.getParameter("newPassword");

User user =(User) req.getSession().getAttribute("user");


writer.print("<scriipt>");

writer.print("window.open('"+ req.getContextPath()+"/backstage/login.jsp','_top')");

writer.print("</script>");

writer.print("</html>");

} catch (IOException e) {

e.printStackTrace();

/**

* 退出登录

*/

public void logout(HttpServletRequest req, HttpServletResponse resp) {

req.getSession().removeAttribute("user");

e.printStackTrace();

/**

* 成功修改密码后,清除session中的数据,并且重新跳转到登录页

* @param req

* @param resp

*/

public void afterModifyPassword(HttpServletRequest req, HttpServletResponse resp) {

req.getSession().removeAttribute("user");

try {

//使用iframe时,要避免这种直接跳转的方式

// 此时只会让内嵌的iframe跳转到登录页,并非整个页面

//			resp.sendRedirect("backstage/login.jsp");

PrintWriter writer = resp.getWriter();

writer.print("<html>");

* @throws IOException

*/

public void sendOrder(HttpServletRequest req, HttpServletResponse resp) throws IOException {

//设置请求编码格式:

req.setCharacterEncoding("utf-8");

//设置响应编码格式

resp.setContentType("text/html;charset=utf-8");

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

Orders order = new Orders();

order.setNumber(order.getRandomString(10));

order.setTime(df.format(new Date()));

resp.getWriter().println(JsonUtil.javaObjectToJson(result));

} catch (Exception e) {

e.printStackTrace();

/**

* 检查旧密码是否正确 ,在修改密码操作时使用

* @throws IOException

*/

public void checkOldPassword(HttpServletRequest req, HttpServletResponse resp) throws IOException {

//设置请求编码格式:

req.setCharacterEncoding("utf-8");

//设置响应编码格式

resp.setContentType("text/html;charset=utf-8");

User user =(User) req.getSession().getAttribute("user");

try {

if(!oldPassword.equals(password)) {

JSONResult errorMsg = JSONResult.errorMsg("原始密码错误,请重新输入");

resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));

}else {

JSONResult ok = JSONResult.ok();

resp.getWriter().println(JsonUtil.javaObjectToJson(ok));

} catch (IOException e) {

e.printStackTrace();

/**

*  修改密码


order.setGoods_status(1);

int d = service.addOrder(order);

try {

if(d>0) {

JSONResult ok = JSONResult.ok();

resp.getWriter().println(JsonUtil.javaObjectToJson(ok));

}else {

JSONResult error = JSONResult.errorMsg("订单提交失败!");

resp.getWriter().println(JsonUtil.javaObjectToJson(error));

} catch (Exception e) {

e.printStackTrace();


public class GoodsServlet extends HttpServlet{

GoodsService service = new GoodsService();

@Override

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

String action = req.getParameter("action");

switch(action) {

case "addGoods":addGoods(req,resp);break;

case "getGoodsList":getGoodsList(req,resp);break;

case "getGoodsListByName":getGoodsListByName(req,resp);break;

case "deleteGoods":deleteGoods(req,resp);break;

case "toGoodsUpdatePage":toGoodsUpdatePage(req,resp);break;

case "updateGoods":updateGoods(req,resp);break;

case "upGoodsImage":upGoodsImage(req,resp);break;


parmas.put("name", name);

//parmas.put("type", type);

List<Orders> list = service.getOrdersByName(parmas);

try {

if(list != null) {

JSONResult ok = JSONResult.ok(list);

resp.getWriter().println(JsonUtil.javaObjectToJson(ok));

}else {

JSONResult errorMsg = JSONResult.errorMsg("未获取到任何数据,请重试");

resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));

} catch (Exception e) {

e.printStackTrace();

/**


}else {

//2、获取用户数据 进行用户名和密码验证

User user = service.getUserByNameAndPassword(userName, password);

if(user!=null) {

//将用户数据保存到session 作用域中,方便在后续的操作中使用用户数据

req.getSession().setAttribute("user", user);

JSONResult ok = JSONResult.ok();

resp.getWriter().println(JsonUtil.javaObjectToJson(ok));

}else {

// 将错误信息封装在结果集中

JSONResult result = JSONResult.errorMsg("用户名或密码错误,请重试");


*/

public void getGoodsListByName(HttpServletRequest req,HttpServletResponse resp) throws IOException  {

//设置请求编码格式:

req.setCharacterEncoding("utf-8");

//设置响应编码格式

resp.setContentType("text/html;charset=utf-8");

String name = req.getParameter("goodsName");

String type = req.getParameter("type");

Map<String,String> parmas = new HashMap<>();

parmas.put("name", name);

parmas.put("type", type);


order.setNumber(order.getRandomString(10));

order.setTime(df.format(new Date()));

order.setName(req.getParameter("recipients"));

order.setAddress(req.getParameter("address"));

order.setPhone(req.getParameter("phone"));

order.setAddress_label(req.getParameter("addressLabel"));

order.setSex(req.getParameter("sex"));

order.setUser("sjb");

order.setGoods_id(99);

order.setGoods_num(3);

order.setGoods_status(1);

int d = service.addOrder(order);

try {


if(d>0) {

JSONResult ok = JSONResult.ok();

resp.getWriter().println(JsonUtil.javaObjectToJson(ok));

}else {

JSONResult errorMsg = JSONResult.errorMsg("添加失败,请重试");

resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));

} catch (Exception e) {

e.printStackTrace();

/**

* 向前端页面返回商品数据列表

*/

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java毕业

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值