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

目录

一、系统介绍

1.开发环境

2.技术选型

3.系统功能

二、系统展示

1.用户-主页面

2.用户-注册

3.用户-登录

4.用户-商品分类

5.用户-查看商品

6.用户-提交订单

7.用户-支付货款

8.用户-留言板

9.管理员-登录

10.管理员-用户查看

11.管理员-一级分类管理

12.管理员-二级分类管理

13.管理员-商品管理

14.管理员-订单管理

15.管理员-留言管理

三、部分代码

AdminController

ajaxController

cartController

CategorySecondController

checkImgController

indexController

四、其他

1.更多系统

2.源码下载

3.运行项目

4.备注

5.支持博主


一、系统介绍

1.开发环境

开发工具:IDEA2018

JDK版本:jdk1.8

Mysql版本:8.0.13

2.技术选型

Java+Spring+SpringMVC+Mybatis+JSP+Mysql

3.系统功能

用户

1.注册

2.登录

3.浏览商品

4.购买商品

5.评论

管理员

1.登录

2.用户查看

3.一级分类管理

4.二级分类管理

5.商品管理

6.订单管理

7.留言管理

二、系统展示

1.用户-主页面

2.用户-注册

3.用户-登录

4.用户-商品分类

 

5.用户-查看商品

6.用户-提交订单

7.用户-支付货款

8.用户-留言板

9.管理员-登录

10.管理员-用户查看

11.管理员-一级分类管理

12.管理员-二级分类管理

13.管理员-商品管理

14.管理员-订单管理

15.管理员-留言管理

三、部分代码

AdminController

package com.shop.controller;

import java.io.File;
import java.util.Date;
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 org.springframework.web.multipart.MultipartFile;

import com.shop.Utils.PageBean;
import com.shop.Utils.UUIDUtiils;
import com.shop.po.Adminuser;
import com.shop.po.Category;
import com.shop.po.Categorysecond;
import com.shop.po.Message;
import com.shop.po.Orders;
import com.shop.po.Product;
import com.shop.po.User;
import com.shop.service.CategorySecondService;
import com.shop.service.CategoryService;
import com.shop.service.MessageService;
import com.shop.service.OrderService;
import com.shop.service.ProductService;
import com.shop.service.UserService;


@Controller
public class AdminController {
    @Autowired
    private UserService userService;
    @Autowired
    public CategoryService categoryService;
    @Autowired
    public CategorySecondService categorySecondService;
    @Autowired
    public ProductService productService;
    @Autowired
    private OrderService orderService;
    @Autowired
    private MessageService messageService;

    @RequestMapping("/admin/admin_findAll")
    public String admin_findAll(Model model, HttpServletRequest request) throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }
        List<User> userList = userService.admin_findAll();
        model.addAttribute("userList", userList);
        return "admin/user/list";
    }

    @RequestMapping("/admin/adminCategory_findAll")
    public String adminCategory_findAll(Model model, HttpServletRequest request)
            throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }
        List<Category> categoryList = categoryService.adminbFindCategory();
		/*for (Category category : categoryList) {
			System.out.println(category.getCname());
		}*/
        model.addAttribute("categoryList", categoryList);
        return "admin/category/list";
    }

    @RequestMapping("/admin/adminCategory_add")
    public String adminCategory_add(Model model, HttpServletRequest request) throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }
//		List<Category> categoryList = categoryService.adminbFindCategory();
//		model.addAttribute("categoryList", categoryList);
        return "admin/category/add";
    }

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

    @RequestMapping("/admin/adminCategory_edit")
    public String adminCategory_delete(@RequestParam int cid, Model model, HttpServletRequest request)
            throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }
        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";
        }
        PageBean<Categorysecond> csPageBean = categorySecondService
                .adminCategorySecond_findAllByPage(page);
		/*List<Categorysecond> list = csPageBean.getList();
		for (Categorysecond categorysecond : list) {
			System.out.println(categorysecond.getCsname());
		}*/
        model.addAttribute("csPageBean", csPageBean);
        return "admin/categorysecond/list";
    }

    @RequestMapping("admin/adminCategorySecond_addPage")
    public String adminCategorySecond_addPage(Model model, HttpServletRequest request) throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }
        List<Category> categoryList = categoryService.adminbFindCategory();
        model.addAttribute("categoryList", categoryList);
        return "admin/categorysecond/add";
    }

    @RequestMapping("admin/adminCategorySecond_save")
    public String adminCategorySecond_save(@RequestParam String csname, @RequestParam int cid, HttpServletRequest request) throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }
        Categorysecond categorysecond = new Categorysecond();
        categorysecond.setCsname(csname);
        categorysecond.setCid(cid);
        categorySecondService.adminCategorySecond_save(categorysecond);
        return "redirect:/admin/adminCategorySecond_findAllByPage.action?page=1";
    }

    @RequestMapping("admin/adminCategorySecond_edit")
    public String adminCategorySecond_edit(@RequestParam int csid, Model model, HttpServletRequest request) throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }
        Categorysecond findByCsid = categorySecondService.findByCsid(csid);
        model.addAttribute("findByCsid", findByCsid);
        return "admin/categorysecond/edit";
    }

    @RequestMapping("admin/adminCategorySecond_update")
    public String adminCategorySecond_update(@RequestParam String csname, @RequestParam int csid, HttpServletRequest request) {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }
        Categorysecond categorysecond = new Categorysecond();
        categorysecond.setCsname(csname);
        categorysecond.setCsid(csid);
        categorySecondService.adminCategorySecond_update(categorysecond);
        return "redirect:/admin/adminCategorySecond_findAllByPage.action?page=1";
    }

    @RequestMapping("admin/adminCategorySecond_delete")
    public String adminCategorySecond_delete(@RequestParam int csid, HttpServletRequest request) throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }
        categorySecondService.adminCategorySecond_delete(csid);
        return "redirect:/admin/adminCategorySecond_findAllByPage.action?page=1";
    }

    //admin的商品管理
    @RequestMapping("/admin/adminProduct_findAllByPage")
    public String adminProduct_findAllByPage(@RequestParam int page, Model model, HttpServletRequest request)
            throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }
        PageBean<Product> allProPageBean = productService.findAllProduct(page);
        model.addAttribute("allProPageBean", allProPageBean);
        return "admin/product/list";
    }

    @RequestMapping("/admin/adminProduct_addPage")
    public String adminProduct_addPage(Model model, HttpServletRequest request) throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }
        //查询出所有的二级分类
        List<Categorysecond> cslist = categorySecondService.findAll();
		/*for (Categorysecond categorysecond : cslist) {
			System.out.println(categorysecond.getCsname());
		}*/
        model.addAttribute("cslist", cslist);
        return "admin/product/add";
    }

    @RequestMapping("/admin/adminProduct_save")
    public String adminProduct_save(Product product, HttpServletRequest request, MultipartFile file) throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }
        product.setPdate(new Date());
//		上传图片
        if (file != null) {
            String path = request.getServletContext().getRealPath(
                    "/products");
            String uploadFileName = file.getOriginalFilename();
            String fileName = UUIDUtiils.getUUID() + uploadFileName;
            File diskFile = new File(path + "//" + fileName);
            file.transferTo(diskFile);
            product.setImage("products/" + fileName);
        }
        System.out.println(product.getImage());
        productService.adminProduct_save(product);
        return "redirect:/admin/adminProduct_findAllByPage.action?page=1";
    }

    @RequestMapping("admin/adminProduct_deletecs")
    public String adminProduct_deletecs(@RequestParam int pid, HttpServletRequest request) throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }
        productService.adminProduct_deletecs(pid);
        return "redirect:/admin/adminProduct_findAllByPage.action?page=1";
    }

    /**
     * 编辑商品
     *
     * @param pid
     * @param model
     * @param request
     * @return
     * @throws Exception
     */
    @RequestMapping("admin/adminProduct_edit")
    public String adminProduct_edit(@RequestParam int pid, Model model, HttpServletRequest request) throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }
        Product product = productService.finbProductByPid(pid);
        model.addAttribute("findByPid", product);
        //查询出所有的二级分类
        List<Categorysecond> cslist = categorySecondService.findAll();
        model.addAttribute("cslist", cslist);
        return "admin/product/edit";
    }

    @RequestMapping("/admin/adminProduct_update")
    public String adminProduct_update(Product product, HttpServletRequest request, MultipartFile file) throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }
        product.setPdate(new Date());
//		上传图片
        if (file != null) {
            String path = request.getServletContext().getRealPath(
                    "/products");
            String uploadFileName = file.getOriginalFilename();
            String fileName = UUIDUtiils.getUUID() + uploadFileName;
            File diskFile = new File(path + "//" + fileName);
            file.transferTo(diskFile);
            product.setImage("products/" + fileName);
        }

        productService.adminProduct_update(product);
        return "redirect:/admin/adminProduct_findAllByPage.action?page=1";
    }

    /**
     * 订单管理模块
     **/

    @RequestMapping("/admin/adminOrder_findAllByPage")
    public String adminOrder_findAllByPage(@RequestParam int page, Model model, HttpServletRequest request)
            throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }

        PageBean<Orders> allProPageBean = orderService.findAllOrderByStateAndPage(page);
        model.addAttribute("pageBean", allProPageBean);
        return "admin/order/list";
    }

    //adminOrder_findByState
    @RequestMapping("/admin/adminOrder_findByState")
    public String adminOrder_findByState(@RequestParam int page, @RequestParam int state, Model model, HttpServletRequest request)
            throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }

        PageBean<Orders> allProPageBean = orderService.findAllOrderByStateAndPage(state, page);
        model.addAttribute("pageBean", allProPageBean);
        return "admin/order/list";
    }

    //订单详情
    //adminOrder_findOrderItem
    @RequestMapping("/admin/adminOrder_findOrderItem")
    public String adminOrder_findOrderItem(@RequestParam int oid, Model model, HttpServletRequest request)
            throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }

        Orders orderItems = orderService.findOrderByOid(oid);
        model.addAttribute("orderItems", orderItems);
        return "admin/order/list";
    }

    //更新订单状态
    @RequestMapping("/admin/adminOrder_updateState")
    public String adminOrder_updateState(@RequestParam int oid, @RequestParam int status, Model model, HttpServletRequest request)
            throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }

        orderService.updateOrderStatus(oid, status);

        return "redirect:/admin/adminOrder_findAllByPage.action?page=1";
    }

    //后台留言管理
    @RequestMapping("/admin/adminMessage_findAllByPage")
    public String adminMessage_findAllByPage(@RequestParam int page, Model model, HttpServletRequest request)
            throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }

        PageBean<Message> pageBean = messageService.findAllMessageByPage(page);
        model.addAttribute("pageBean", pageBean);

        return "admin/message/list";
    }

    @RequestMapping("/admin/adminMessage_delete")
    public String adminOrder_updateState(@RequestParam int messageid, Model model, HttpServletRequest request)
            throws Exception {
        Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
        if (adminuserLogin == null) {
            request.getSession().setAttribute("message", "对不起您还没有登录");
            return "admin/index";
        }

        messageService.deleteMessage(messageid);

        return "redirect:/admin/adminMessage_findAllByPage.action?page=1";
    }

}


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.htmlhttps://blog.csdn.net/helongqiang/category_10020130.html

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

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

2.源码下载

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

3.运行项目

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

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

4.备注

如有侵权请联系我删除。

5.支持博主

如果您觉得此文对您有帮助,请点赞加关注加收藏。祝您生活愉快!想要获取其他资源可关注左侧微信公众号获取!

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

水坚石青

你的鼓励是我更新的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值