IDEA+Java+SSM+Mysql+JSP实现Web宠物商城系统(下)

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: IDEA+Java+SSM+Mysql+JSP实现Web宠物商城系统

ajaxController

package com.shop.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.shop.po.User;
import com.shop.service.UserService;
@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();
        }
    }
}

cartController

package com.shop.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.shop.po.Cart;
import com.shop.po.CartItem;
import com.shop.po.Product;
import com.shop.po.User;
import com.shop.service.ProductService;
@Controller
public class cartController {
    @Autowired
    private ProductService productService;
    //  添加到购物车
    @RequestMapping("/addCart")
    public String addCart(HttpServletRequest request, @RequestParam int pid, @RequestParam int count, Model model) {
        Product product = productService.finbProductByPid(pid);
//    存进一个购物项
        CartItem cartItem = new CartItem();
        cartItem.setCount(count);
        cartItem.setProduct(product);
        cartItem.setSubtotle(count * product.getShopPrice());
//    存进购物车
        Cart cart = getCart(request);
        cart.addCart(cartItem);
        return "cart";
    }
    //  查看我的购物车
    @RequestMapping("/myCart")
    public String myCart(HttpServletRequest request, Model model) {
        User loginUser = (User) request.getSession().getAttribute("loginUser");
        if (loginUser == null) {
            model.addAttribute("message", "您还没有登录!");
            return "msg";
        }
        return "cart";
    }
    //  清空购物车
    @RequestMapping("/clearCart")
    public String clearCart(HttpServletRequest request) {
        Cart cart = getCart(request);
        cart.clearCart();
        return "redirect:myCart.action";
    }
    //  删除某个购物项
    @RequestMapping("/delProFromCart")
    public String delProFromCart(@RequestParam int pid, HttpServletRequest request) {
        Cart cart = getCart(request);
        cart.delProFromCart(pid);
        return "redirect:myCart.action";
    }
    public Cart getCart(HttpServletRequest request) {
        Cart cart = (Cart) request.getSession().getAttribute("cart");
        if (cart == null) {
            cart = new Cart();
            request.getSession().setAttribute("cart", cart);
        }
        return cart;
    }
}

CategorySecondController

package com.shop.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.shop.Utils.PageBean;
import com.shop.po.Product;
import com.shop.service.ProductService;
@Controller
public class CategorySecondController {
    @Autowired
    private ProductService productService;
    //根据一级目录查找二级目录下面的商品(使用延迟加载但是这里不知为啥使用起来出错了)
    @RequestMapping("/findCategorySecond")
    public String findCategorySecond(HttpServletRequest request, @RequestParam int cid, Model model, @RequestParam int page) throws Exception {
        request.getSession().setAttribute("cid", cid);
        PageBean<Product> proPageBean = productService.findProductyBycid(cid, page);
        model.addAttribute("pageBean", proPageBean);
        return "category";
    }
    //  根据csid来分页查询商品
    @RequestMapping("/findCategorySecond1")
    public String findCategorySecond1(@RequestParam int csid, Model model, @RequestParam int page) {
        PageBean<Product> proPageBean = productService.finbProductByCsid(csid, page);
        model.addAttribute("pageBean", proPageBean);
        return "category";
    }
}

checkImgController

package com.shop.controller;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@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";
        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度
            int jiaodu = random.nextInt(60) - 30;
            // 换算弧度
            double theta = jiaodu * Math.PI / 180;
            // 生成一个随机数字
            int index = random.nextInt(words.length()); // 生成随机数 0 到 length - 1
            // 获得字母数字
            char c = words.charAt(index);
            sb.append(c);
            // 将c 输出到图片
            graphics2d.rotate(theta, x, 20);
            graphics2d.drawString(String.valueOf(c), x, 20);
            graphics2d.rotate(-theta, x, 20);
            x += 30;
        }
        // 将生成的字母存入到session中
        request.getSession().setAttribute("checkcode", sb.toString());
        System.out.println(sb.toString());
        // 步骤五 绘制干扰线
        graphics.setColor(getRandColor(160, 200));
        int x1;
        int x2;
        int y1;
        int y2;
        for (int i = 0; i < 30; i++) {
            x1 = random.nextInt(width);
            x2 = random.nextInt(12);
            y1 = random.nextInt(height);
            y2 = random.nextInt(12);
            graphics.drawLine(x1, y1, x1 + x2, x2 + y2);
        }
        // 将上面图片输出到浏览器 ImageIO
        graphics.dispose();// 释放资源
        ImageIO.write(bufferedImage, "jpg", response.getOutputStream());
    }
    private Color getRandColor(int fc, int bc) {
        // 取其随机颜色
        Random random = new Random();
        if (fc > 255) {
            fc = 255;
        }
        if (bc > 255) {
            bc = 255;
        }
        int r = fc + random.nextInt(bc - fc);
        int g = fc + random.nextInt(bc - fc);
        int b = fc + random.nextInt(bc - fc);
        return new Color(r, g, b);
    }
}

indexController

package com.shop.controller;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.shop.po.Category;
import com.shop.po.Product;
import com.shop.service.CategoryService;
import com.shop.service.ProductService;
@Controller
public class indexController {
    @Autowired
    private CategoryService categoryService;
    @Autowired
    private ProductService productService;
    @RequestMapping("/index")
    public String index(Model model, HttpServletRequest request) throws Exception {
        //查询一级分类
        List<Category> cList = categoryService.findCategory();
        request.getSession().getServletContext().setAttribute("cList", cList);
//      model.addAttribute("cList", cList);
        //查询热门商品
        List<Product> hList = productService.findHotProduct();
        model.addAttribute("hList", hList);
        //查询最新商品
        List<Product> nList = productService.findNewProduct();
        model.addAttribute("nList", nList);
        //滚动图片专用,最多显示3个商品
        List<Product> sList;
        if (hList.size() > 3) {
            sList = new ArrayList<Product>();
            sList.add(hList.get(0));
            sList.add(hList.get(1));
            sList.add(hList.get(2));
            model.addAttribute("sList", sList);
        } else {
            model.addAttribute("sList", hList);
        }
        return "index";
    }
    @RequestMapping("/about")
    public String about(Model model, HttpServletRequest request) throws Exception {
        return "about";
    }
    @RequestMapping("/contact")
    public String contact(Model model, HttpServletRequest request) throws Exception {
        return "contact";
    }
    @RequestMapping("/delivery")
    public String delivery(Model model, HttpServletRequest request) throws Exception {
        return "delivery";
    }
    //
    @RequestMapping("/searchProduct")
    public String searchProduct(@RequestParam String condition, Model model, HttpServletRequest request) throws Exception {
        //查询一级分类
        List<Category> cList = categoryService.findCategory();
        request.getSession().getServletContext().setAttribute("cList", cList);
        //查询商品
        List<Product> hList = productService.findHotProduct();
        model.addAttribute("hList", hList);
        //搜索商品
        List<Product> srList = productService.searchProduct(condition);
        model.addAttribute("srList", srList);
        //滚动图片专用,最多显示3个商品
        List<Product> sList;
        if (hList.size() > 3) {
            sList = new ArrayList<Product>();
            sList.add(hList.get(0));
            sList.add(hList.get(1));
            sList.add(hList.get(2));
            model.addAttribute("sList", sList);
        } else {
            model.addAttribute("sList", hList);
        }
        return "searchProduct";
    }
}


四、其他


1.更多系统


1.更多JavaWeb系统请关注专栏。


https://blog.csdn.net/helongqiang/category_10020130.html

https://blog.csdn.net/helongqiang/category_10020130.html


2.更多JavaSwing系统请关注专栏。


https://blog.csdn.net/helongqiang/category_6229101.html

https://blog.csdn.net/helongqiang/category_6229101.html


2.源码下载

Java+SSM+Mysql+Jsp实现宠物商城系统


3.运行项目

请点击以下链接,部署你的项目。


IDEA如何导入JavaWeb项目超详细视频教程


4.备注

如有侵权请联系我删除。


5.支持博主

如果您觉得此文对您有帮助,请点赞加关注加收藏。祝您生活愉快!


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
5月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
564 1
|
5月前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
598 0
|
6月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
742 64
|
6月前
|
前端开发 Java 数据库
Java 项目实战从入门到精通 :Java Web 在线商城项目开发指南
本文介绍了一个基于Java Web的在线商城项目,涵盖技术方案与应用实例。项目采用Spring、Spring MVC和MyBatis框架,结合MySQL数据库,实现商品展示、购物车、用户注册登录等核心功能。通过Spring Boot快速搭建项目结构,使用JPA进行数据持久化,并通过Thymeleaf模板展示页面。项目结构清晰,适合Java Web初学者学习与拓展。
470 1
|
12月前
|
存储 Java 关系型数据库
ssm026校园美食交流系统(文档+源码)_kaic
本文介绍了基于Java语言和MySQL数据库的校园美食交流系统的设计与实现。该系统采用B/S架构和SSM框架,旨在提高校园美食信息管理的效率与便捷性。主要内容包括:系统的开发背景、目的及内容;对Java技术、MySQL数据库、B/S结构和SSM框架的介绍;系统分析部分涵盖可行性分析、性能分析和功能需求分析;最后详细描述了系统各功能模块的具体实现,如登录、管理员功能(美食分类管理、用户管理等)和前台首页功能。通过此系统,管理员可以高效管理美食信息,用户也能方便地获取和分享美食资讯,从而提升校园美食交流的管理水平和用户体验。
|
11月前
|
Java 关系型数据库 MySQL
weixin050高校体育场管理系统+ssm(文档+源码)_kaic
本文针对高校体育场管理系统的开发与实现进行详细介绍。随着经济快速发展,人们对手机软件需求增加,高校体育场管理系统应运而生。系统采用JAVA技术、Mysql数据库和SSM框架等成熟技术,通过分析功能需求、可行性及性能,设计出包含管理员、用户和学生角色的功能模块。系统实现用户注册登录、信息管理等功能,简化传统手工统计模式,提高管理效率,满足用户对信息获取的及时性与准确性需求。
weixin050高校体育场管理系统+ssm(文档+源码)_kaic
|
11月前
|
前端开发 Java 关系型数据库
基于ssm的社区物业管理系统,附源码+数据库+论文+任务书
社区物业管理系统采用B/S架构,基于Java语言开发,使用MySQL数据库。系统涵盖个人中心、用户管理、楼盘管理、收费管理、停车登记、报修与投诉管理等功能模块,方便管理员及用户操作。前端采用Vue、HTML、JavaScript等技术,后端使用SSM框架。系统支持远程安装调试,确保顺利运行。提供演示视频和详细文档截图,帮助用户快速上手。
471 17
|
11月前
|
前端开发 Java 关系型数据库
基于ssm的超市会员(积分)管理系统,附源码+数据库+论文,包安装调试
本项目为简单内容浏览和信息处理系统,具备管理员和员工权限。管理员可管理会员、员工、商品及积分记录,员工则负责积分、商品信息和兑换管理。技术框架采用Java编程语言,B/S架构,前端使用Vue+JSP+JavaScript+Css+LayUI,后端为SSM框架,数据库为MySQL。运行环境为Windows,JDK8+Tomcat8.5,非前后端分离的Maven项目。提供演示视频和详细文档,购买后支持免费远程安装调试。
512 19
|
11月前
|
前端开发 JavaScript Java
[Java计算机毕设]基于ssm的OA办公管理系统的设计与实现,附源码+数据库+论文+开题,包安装调试
OA办公管理系统是一款基于Java和SSM框架开发的B/S架构应用,适用于Windows系统。项目包含管理员、项目管理人员和普通用户三种角色,分别负责系统管理、请假审批、图书借阅等日常办公事务。系统使用Vue、HTML、JavaScript、CSS和LayUI构建前端,后端采用SSM框架,数据库为MySQL,共24张表。提供完整演示视频和详细文档截图,支持远程安装调试,确保顺利运行。
455 17
|
11月前
|
前端开发 Java 关系型数据库
基于ssm的网络直播带货管理系统,附源码+数据库+论文
该项目为网络直播带货网站,包含管理员和用户两个角色。管理员可进行主页、个人中心、用户管理、商品分类与信息管理、系统及订单管理;用户可浏览主页、管理个人中心、收藏和订单。系统基于Java开发,采用B/S架构,前端使用Vue、JSP等技术,后端为SSM框架,数据库为MySQL。项目运行环境为Windows,支持JDK8、Tomcat8.5。提供演示视频和详细文档截图。
326 10

推荐镜像

更多