目录
一、系统介绍
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系统请关注专栏。
2.更多JavaSwing系统请关注专栏。
2.源码下载
3.运行项目
请点击以下链接,部署你的项目。
4.备注
如有侵权请联系我删除。
5.支持博主
如果您觉得此文对您有帮助,请点赞加关注加收藏。祝您生活愉快!想要获取其他资源可关注左侧微信公众号获取!