基于javaweb+mysql的ssm+maven在线化妆品商城系统(java+ssm+jsp+js+bootstrap+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM+Maven在线化妆品商城系统(java+ssm+jsp+js+bootstrap+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版本; 6.是否Maven项目:是;
技术栈
- 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+CSS+JavaScript+jQuery+Bootstrap
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中db.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入http://localhost:8080/ssm_hzp_site/ 登录 注:Tomcat中配置项目路径必须为ssm_hzp_site 用户账号/密码: user/123456 管理员账号/密码:admin/admin
@RequestMapping("sortProduct")
public String sortProduct(Model model, String sort, String keyword) {
List<Product> products = productService.search(keyword);
for (Product product : products) {
product.setReviewCount(reviewService.getCount(product.getId()));
}
if (sort != null) {
switch (sort) {
case "all":
Collections.sort(products, Comparator.comparing(Product::getId));
break;
case "sale":
Collections.sort(products, Comparator.comparing(Product::getSale));
break;
case "price":
Collections.sort(products, Comparator.comparing(Product::getPrice));
}
}
model.addAttribute("products", products);
return "searchPage";
}
//----------------------------------------------登录、注册-------------------------------------------------
@RequestMapping("/login")
public String login(Model model, @RequestParam("name") String name,
@RequestParam("password") String password,
HttpSession session) {
User user = userService.get(name, password);
if (null == user) {
model.addAttribute("msg", "用户名或密码错误");
return "loginPage";
}
session.setAttribute("user", user);
return "redirect:home";
}
@RequestMapping("/logout")
public String logout(HttpSession session) {
session.removeAttribute("user");
@Controller
@RequestMapping("/admin")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/listUser")
public String findAll(Model model) {
List<User> users = userService.findAll();
model.addAttribute("users",users);
return "admin/listUser";
}
@RequestMapping("/editUser")
public String edit(Model model ,Integer id) {
User user = userService.get(id);
model.addAttribute("user",user);
return "admin/editUser";
}
@RequestMapping("/updateUser")
public String update(Integer id,String password) {
userService.updatePassword(id,password);
return "redirect:listUser";
}
}
@Controller
public class PageController {
@RequestMapping("/loginPage")
public String loginPage() {
return "loginPage";
}
@RequestMapping("/registerPage")
public String registerPage() {
return "registerPage";
}
@RequestMapping("/registerSuccess")
public String registerSuccess() {
User user = (User)session.getAttribute("user");
List<OrderItem> orderItems = orderItemService.findForCart(user.getId());
model.addAttribute("orderItems",orderItems);
return "cart";
}
@RequestMapping("/checkLogin")
@ResponseBody
public String checkLogin(HttpSession session) {
User user = (User)session.getAttribute("user");
if(null != user)
return "success";
return "fail";
}
@RequestMapping("/changeOrderItem")
@ResponseBody
public String changeOrderItem(Model model,HttpSession session,int product_id,int number) {
User user = (User)session.getAttribute("user");
if(null == user)
return "fail";
List<OrderItem> ois = orderItemService.findByUserId(user.getId());
for(OrderItem oi : ois) {
if(oi.getProduct().getId().intValue() == product_id) {
oi.setNumber(number);
orderItemService.update(oi);
break;
}
}
return "success";
}
@RequestMapping("deleteOrderItem")
@ResponseBody
public String deleteOrderItem(Model model,HttpSession session,Integer orderItemId) {
User user = (User) session.getAttribute("user");
if(null == user)
return "fail";
orderItemService.delete(orderItemId);
return "success";
}
@RequestMapping("bought")
public String bought(Model model,HttpSession session) {
@Controller
@RequestMapping("/admin")
public class OrderController {
@Autowired
private OrderService orderService;
@RequestMapping("/listOrder")
public String findAll(Model model) {
List<Order> orders = orderService.findAll();
model.addAttribute("orders",orders);
return "admin/listOrder";
}
@RequestMapping("/updateOrder")
public String update(Order order) {
orderService.update(order);
return "redirect:listOrder";
}
@RequestMapping("/orderDelivery")
public String delivery(Integer order_id) {
Order order = orderService.get(order_id);
order.setDelivery_date(new Date());
order.setStatus(OrderService.waitConfirm);
orderService.update(order);
return "redirect:listOrder";
}
}
@Controller
public class ForeController {
@Autowired
private CategoryService categoryService;
@Autowired
private ProductService productService;
@Autowired
private PropertyValueService propertyValueService;
@Autowired
private ReviewService reviewService;
@Autowired
private UserService userService;
@Autowired
private OrderItemService orderItemService;
@Autowired
private OrderService orderService;
@RequestMapping("/home")
public String home(Model model) {
List<Category> categories = categoryService.findAll();
productService.fillAll(categories);
model.addAttribute("categories", categories);
return "index";
}
@RequestMapping("/showProduct")
public String showProduct(Model model, Integer product_id) {
List<Category> categories = categoryService.findAll();
model.addAttribute("categories", categories);
Product product = productService.get(product_id);
productService.setReviewCount(product);
model.addAttribute("product", product);
List<PropertyValue> propertyValues = propertyValueService.findByProductId(product_id);
model.addAttribute("propertyValues", propertyValues);
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/listUser")
public String findAll(Model model) {
List<User> users = userService.findAll();
model.addAttribute("users",users);
return "admin/listUser";
}
@RequestMapping("/editUser")
public String edit(Model model ,Integer id) {
User user = userService.get(id);
model.addAttribute("user",user);
return "admin/editUser";
}
@RequestMapping("/updateUser")
public String update(Integer id,String password) {
userService.updatePassword(id,password);
return "redirect:listUser";
}
}
@Controller
public class PageController {
@RequestMapping("/loginPage")
public String loginPage() {
return "loginPage";
}
@RequestMapping("/registerPage")
public String registerPage() {
return "registerPage";
}
@RequestMapping("/registerSuccess")
public String registerSuccess() {
return "registerSuccess";
}
@RequestMapping("/payPage")
public String payPage() {
orderService.update(order);
return "orderConfirmedPage";
}
@RequestMapping("deleteOrder")
public String deleteOrder(Model model,Integer order_id) {
Order order = orderService.get(order_id);
order.setStatus(OrderService.delete);
orderService.update(order);
return "success";
}
@RequestMapping("review")
public String review(Model model,Integer order_id) {
Order order = orderService.get(order_id);
orderItemService.fill(order);
Product product = order.getOrderItems().get(0).getProduct();
List<Review> reviews = reviewService.findByProductId(product.getId());
productService.setReviewCount(product);
model.addAttribute("product",product);
model.addAttribute("order",order);
model.addAttribute("reviews",reviews);
return "reviewPage";
}
@RequestMapping("doReview")
public String deReview(Model model,HttpSession session,
@RequestParam("order_id") Integer order_id,
@RequestParam("product_id") Integer product_id,
String content) {
Order order = orderService.get(order_id);
order.setStatus(OrderService.finish);
orderService.update(order);
User user = (User) session.getAttribute("user");
Review review = new Review();
review.setContent(content);
review.setProduct_id(product_id);
review.setCreateDate(new Date());
review.setUser_id(user.getId());
reviewService.add(review);
return "redirect:review?order_id=" + order_id + "&showonly=true";
}
@RequestMapping("/editPropertyValue")
public String edit(Integer id ,Model model) {
PropertyValue propertyValue = propertyValueService.get(id);
model.addAttribute("propertyValue",propertyValue);
Product product = productService.get(propertyValue.getProperty_id());
model.addAttribute("product",product);
return "admin/editPropertyValue";
}
@RequestMapping("/updatePropertyValue")
public String update(PropertyValue propertyValue) {
Integer product_id = propertyValue.getProduct_id();
Integer category_id = productService.get(product_id).getCategory_id();
propertyValueService.update(propertyValue);
return "redirect:listPropertyValue?product_id=" + product_id + "&category_id=" + category_id;
}
}
@Controller
@RequestMapping("/admin")
public class ProductController {
@Autowired
private ProductService productService;
@Autowired
private CategoryService categoryService;
private OrderService orderService;
@RequestMapping("/listOrder")
public String findAll(Model model) {
List<Order> orders = orderService.findAll();
model.addAttribute("orders",orders);
return "admin/listOrder";
}
@RequestMapping("/updateOrder")
public String update(Order order) {
orderService.update(order);
return "redirect:listOrder";
}
@RequestMapping("/orderDelivery")
public String delivery(Integer order_id) {
Order order = orderService.get(order_id);
order.setDelivery_date(new Date());
order.setStatus(OrderService.waitConfirm);
orderService.update(order);
return "redirect:listOrder";
}
}
@Controller
@RequestMapping("/admin")
public class CategoryController {
@Autowired
private CategoryService categoryService;
@RequestMapping("/listCategory")
public String findAll(Model model) {
List<Category> categories = categoryService.findAll();
order.setPay_date(new Date());
orderService.update(order);
model.addAttribute("order", order);
return "payed";
}
//---------------------------------------------加入购物车------------------------------------------------
@RequestMapping("addCart")
@ResponseBody
public String addCart(int product_id,int num,Model model,HttpSession session) {
Product p = productService.get(product_id);
User user = (User) session.getAttribute("user");
boolean found = false;
List<OrderItem> ois = orderItemService.findByUserId(user.getId());
for(OrderItem oi :ois) {
if(oi.getProduct().getId().intValue() == p.getId().intValue()) {
oi.setNumber(oi.getNumber() + num);
orderItemService.update(oi);
found = true;
break;
}
}
if(!found) {
OrderItem oi = new OrderItem();
oi.setUser_id(user.getId());
oi.setNumber(num);
oi.setProduct_id(product_id);
orderItemService.add(oi);
}
return "success";
}
@RequestMapping("/cart")
public String cart(Model model, HttpSession session) {
User user = (User)session.getAttribute("user");
List<OrderItem> orderItems = orderItemService.findForCart(user.getId());
model.addAttribute("orderItems",orderItems);
return "cart";
}
@RequestMapping("/checkLogin")
@ResponseBody
public String checkLogin(HttpSession session) {
User user = (User)session.getAttribute("user");
if(null != user)
return "success";
}
session.setAttribute("user", user);
return "redirect:home";
}
@RequestMapping("/logout")
public String logout(HttpSession session) {
session.removeAttribute("user");
return "redirect:home";
}
@RequestMapping("/register")
public String register(Model model, User user) {
String name = user.getName();
boolean exist = userService.isExist(name);
if (exist) {
String msg = "用户名已存在";
model.addAttribute("msg", msg);
model.addAttribute("username", user.getName());
return "registerPage";
}
userService.add(user);
return "redirect:registerSuccess";
}
//----------------------------------------------立即购买-------------------------------------------------
@RequestMapping("/buyOne")
public String buyOne(Integer product_id, Integer number, HttpSession session) {
Product product = productService.get(product_id);
int orderItemId = 0;
User user = (User) session.getAttribute("user");
boolean found = false;
List<OrderItem> orderItems = orderItemService.findByUserId(user.getId());
for (OrderItem orderItem : orderItems) {
if (orderItem.getProduct_id().intValue() == product.getId().intValue()) {
orderItem.setNumber(orderItem.getNumber() + number);
orderItemService.update(orderItem);
orderItemId = orderItem.getId();
break;
}
}
if (!found) {
OrderItem orderItem = new OrderItem();
orderItem.setUser_id(user.getId());
orderItem.setNumber(number);
orderItem.setProduct_id(product_id);
orderItemService.add(orderItem);
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
int cartTotalItemNumber = 0;
if(null != user) {
List<OrderItem> ois = orderItemService.findForCart(user.getId());
for(OrderItem oi : ois) {
cartTotalItemNumber += oi.getNumber();
}
}
session.setAttribute("cartTotalItemNumber",cartTotalItemNumber);
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}
@Controller
public class AdminController {
@Autowired
private AdminService adminService;
@RequestMapping("/aLogin")
public String login(Model model, @RequestParam("name") String name,
@RequestParam("password") String password,
HttpSession session2) {
Admin admin = adminService.get(name, password);
if (null == admin) {
model.addAttribute("msg", "用户名或密码错误");
return "admin/adminLogin";
}
session2.setAttribute("admin", admin);
public String delete(Integer id,HttpServletRequest request) {
productImageService.deleteByProductId(id);
String path = request.getSession().getServletContext().getRealPath("" + id);
deleteDir(new File(path));
propertyValueService.deleteByProductId(id);
int category_id = productService.get(id).getCategory_id();
productService.delete(id);
return "redirect:listProduct?category_id=" + category_id;
}*/
/* public static boolean deleteDir(File dir) {
if(dir.isDirectory()){
String[] children = dir.list();
for(int i = 0 ;i < children.length;i++ ) {
boolean success = deleteDir(new File(dir, children[i]));
if(!success) {
return false;
}
}
}
return dir.delete();
}*/
@RequestMapping("/editProduct")
public String edit(Integer id, Model model) {
Product product = productService.get(id);
model.addAttribute("product",product);
Category category = categoryService.get(product.getCategory_id());
model.addAttribute("category",category);
return "admin/editProduct";
}
@RequestMapping("/updateProduct")
public String update(Product product) {
productService.update(product);
return "redirect:listProduct?category_id=" + product.getCategory_id();
}
}
@RequestMapping("/knowledge")
public String knowledge() {
return "knowledge";
}
@RequestMapping("/advert")
public String advert() {
return "advert";
}
@RequestMapping("/touch")
public String touch() {
return "touch";
}
}
@Controller
@RequestMapping("/admin")
public class OrderController {
@Autowired
private OrderService orderService;
@RequestMapping("/listOrder")
public String findAll(Model model) {
List<Order> orders = orderService.findAll();
model.addAttribute("orders",orders);
return "admin/listOrder";
}
}
return "success";
}
@RequestMapping("/cart")
public String cart(Model model, HttpSession session) {
User user = (User)session.getAttribute("user");
List<OrderItem> orderItems = orderItemService.findForCart(user.getId());
model.addAttribute("orderItems",orderItems);
return "cart";
}
@RequestMapping("/checkLogin")
@ResponseBody
public String checkLogin(HttpSession session) {
User user = (User)session.getAttribute("user");
if(null != user)
return "success";
return "fail";
}
@RequestMapping("/changeOrderItem")
@ResponseBody
public String changeOrderItem(Model model,HttpSession session,int product_id,int number) {
User user = (User)session.getAttribute("user");
if(null == user)
return "fail";
List<OrderItem> ois = orderItemService.findByUserId(user.getId());
for(OrderItem oi : ois) {
if(oi.getProduct().getId().intValue() == product_id) {
oi.setNumber(number);
orderItemService.update(oi);
break;
}
}
return "success";
}
@RequestMapping("deleteOrderItem")
@ResponseBody
public String deleteOrderItem(Model model,HttpSession session,Integer orderItemId) {
User user = (User) session.getAttribute("user");
if(null == user)
return "fail";
orderItemService.delete(orderItemId);
return "success";
}
@RequestMapping("bought")
public String bought(Model model,HttpSession session) {
User user =(User) session.getAttribute("user");
return "redirect:review?order_id=" + order_id + "&showonly=true";
}
}
@Controller
@RequestMapping("/admin")
public class PropertyValueController {
@Autowired
private PropertyValueService propertyValueService;
@Autowired
private PropertyService propertyService;
@Autowired
private ProductService productService;
@RequestMapping("/listPropertyValue")
public String findAll(Model model ,Integer product_id ,Integer category_id) {
List<PropertyValue> propertyValues = propertyValueService.findByProductId(product_id);
model.addAttribute("propertyValues",propertyValues);
Product product = productService.get(product_id);
model.addAttribute("product",product);
List<Property> properties = propertyService.findAll(category_id);
@RequestMapping("/adminLogout")
public String logout(HttpSession session2) {
session2.removeAttribute("admin");
return "redirect:admin";
}
}
@Controller
@RequestMapping("/admin")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/listUser")
public String findAll(Model model) {
List<User> users = userService.findAll();
model.addAttribute("users",users);
return "admin/listUser";
}
@RequestMapping("/editUser")
public String edit(Model model ,Integer id) {
User user = userService.get(id);
model.addAttribute("user",user);
return "admin/editUser";
}
@RequestMapping("/updateUser")
public String update(Integer id,String password) {
userService.updatePassword(id,password);
return "redirect:listUser";
}
}
order.setStatus(OrderService.delete);
orderService.update(order);
return "success";
}
@RequestMapping("review")
public String review(Model model,Integer order_id) {
Order order = orderService.get(order_id);
orderItemService.fill(order);
Product product = order.getOrderItems().get(0).getProduct();
List<Review> reviews = reviewService.findByProductId(product.getId());
productService.setReviewCount(product);
model.addAttribute("product",product);
model.addAttribute("order",order);
model.addAttribute("reviews",reviews);
return "reviewPage";
}
@RequestMapping("doReview")
public String deReview(Model model,HttpSession session,
@RequestParam("order_id") Integer order_id,
@RequestParam("product_id") Integer product_id,
String content) {
Order order = orderService.get(order_id);
order.setStatus(OrderService.finish);
orderService.update(order);
User user = (User) session.getAttribute("user");
Review review = new Review();
review.setContent(content);
review.setProduct_id(product_id);
review.setCreateDate(new Date());
review.setUser_id(user.getId());
reviewService.add(review);
return "redirect:review?order_id=" + order_id + "&showonly=true";
}
}