基于javaweb和mysql的ssm水果生鲜超市商城管理系统(java+ssm+jsp+jquery+mysql)
·
基于javaweb和mysql的ssm水果生鲜超市商城管理系统(java+ssm+jsp+jquery+mysql)
私信源码获取及调试交流
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSM水果生鲜超市商城管理系统(java+ssm+jsp+jquery+mysql)
管理员:
admin 123456
用户:
user1 123456
项目介绍
该项目为前后台项目,分为普通用户与管理员两种角色,前台普通用户登录,后台管理员登录;
管理员角色包含以下功能: 管理员登录,用户管理,生鲜分类管理,生鲜商品管理,订单管理,用户留言管理等功能。
用户角色包含以下功能: 用户首页,用户登录注册,查看某个商品,加入购物车,确认订单,查看我的订单,查看留言板等功能。
技术栈
- 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+jQuery+Ajax
@Controller
public class registController {
@Autowired
private UserService userService;
@RequestMapping("regist")
public String regist() {
return "regist";
}
@RequestMapping("/userRegist")
public String userRegist(Model model, HttpServletRequest request,
@Validated User user, BindingResult bindingResult,
@RequestParam String checkImg) throws Exception {
if (bindingResult.hasErrors()) {
List<ObjectError> errors =bindingResult.getAllErrors();
List<String> list = new ArrayList<>();
for (ObjectError objectError : errors) {
String str = new String(objectError.getDefaultMessage()
.getBytes("ISO-8859-1"), "gbk");
list.add(str);
}
model.addAttribute("errors", list);
return "regist";
}
// 查看验证码
String sessionCode = (String) request.getSession().getAttribute(
"checkcode");
// System.out.println("adadadad" + sessionCode);
if (!sessionCode.equalsIgnoreCase(checkImg)) {
// model.addAttribute("message", "验证码错误请重新注册");
throw new zdyException("验证码错误请重新注册");
}
// 开始写入数据库
userService.saveUser(user);
//model.addAttribute("message", "注册成功请去邮箱激活");
model.addAttribute("message", "注册成功请登录");
return "msg";
}
@RequestMapping("/activeUser")
public String activeUser(@RequestParam String code,Model model) throws zdyException,Exception {
/*
* 根据传递激活码进行用户查询. 如果用户不为空: 修改用户状态 改为1 如果用户为空: 激活码被篡改了.
@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);
@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";
}
}
public class EncodingInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object arg2) throws Exception {
response.setContentType("text/html;charset=UTF-8");
/*String method = request.getMethod();
orderitem.setCount(cartItem.getCount());
orderitem.setPid(cartItem.getProduct().getPid());
orderitem.setSubtotal(cartItem.getSubtotle());
orderitem.setOid(orders.getOid());
orders.getOiList().add(orderitem);
orderService.toOrderItem(orderitem);
}
cart.clearCart();
request.getSession().setAttribute("orders", orders);
return "order";
}
// 为定单付款
@RequestMapping("/payOrder")
public String payOrder(Orders orders,@RequestParam String receiveInfo,@RequestParam String phoNum,@RequestParam String accepter) throws Exception {
orders.setReceiveinfo(receiveInfo);
orders.setPhonum(phoNum);
orders.setAccepter(accepter);
orderService.payOrder(orders);
return "redirect:myOrder.action?page=1";
}
//payOrderAganin
@RequestMapping("/payOrderAganin")
public String payOrderAganin(@RequestParam int oid,HttpServletRequest request){
Orders noPayOrder = orderService.findOrderByOid(oid);
request.getSession().setAttribute("orders", noPayOrder);
return "order";
}
// 查询myOrder
@RequestMapping("/myOrder")
public String myOrder(@RequestParam int page, Model model,
HttpServletRequest request) throws Exception {
User loginUser = (User) request.getSession().getAttribute("loginUser");
PageBean<Orders> pageBean = orderService.findOrderByUidAndPage(page,loginUser.getUid());
model.addAttribute("pageBean", pageBean);
return "orderList";
}
// 确认收货
@RequestMapping("/updateState")
public String updateState(@RequestParam int oid ) throws Exception {
orderService.updateOrderStatus(oid, 3);
return "redirect:myOrder.action?page=1";
}
@Controller
public class messageController {
@Autowired
private MessageService messageService;
@RequestMapping("/saveMessage")
public String saveMessage(@RequestParam String messageinfo,HttpServletRequest request,Model model) throws Exception {
Message Message = new Message();
User loginUser = (User) request.getSession().getAttribute("loginUser");
if(loginUser==null){
model.addAttribute("message", "对不起您还没有登录");
return "msg";
}
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Message.setMessage(messageinfo);
Message.setUid(loginUser.getUid());
Message.setMessagedate(sdf.format(new Date()));
messageService.insertMessage(Message);
request.getSession().setAttribute("Message", Message);
return "redirect:/messageList.action?page=1";
}
// 显示留言板全部留言
@RequestMapping("/messageList")
public String messageList(@RequestParam int page, Model model,
HttpServletRequest request) throws Exception {
PageBean<Message> pageBean = messageService.findAllMessageByPage(page);
model.addAttribute("pageBean", pageBean);
return "messageList";
}
}
@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();
}
}
}
//滚动图片专用,最多显示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);
* 根据传递激活码进行用户查询. 如果用户不为空: 修改用户状态 改为1 如果用户为空: 激活码被篡改了.
*/
User activeUser = userService.findByCode(code);
if(activeUser==null){
// model.addAttribute("message", "激活码被篡改了,请重新注册");
throw new zdyException("激活码被篡改了,请重新注册");
}
activeUser.setState(1);
activeUser.setCode(null);
userService.activeUser(activeUser);
model.addAttribute("message", "激活码成功");
return "msg";
}
}
@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";
}
// 查看我的购物车
Object object) throws Exception {
String uri = request.getRequestURI();
if(uri.indexOf("admin.action")>=0){
return true;
}
Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin");
if(adminuserLogin!=null){
return true ;
}
request.getRequestDispatcher("/WEB-INF/jsp/admin/index.jsp").forward(request, response);
return true;
}
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2, ModelAndView arg3) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
}
}
public class golbalException implements HandlerExceptionResolver {
public ModelAndView resolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex) {
response.setHeader("content-type", "text/html;charset=UTF-8");
response.setHeader("refresh", "5;url=/shop/index.action");
zdyException exception =null;
if(ex instanceof zdyException){
exception=(zdyException)ex;
}else{
exception.setMessage("发生了未知异常");
}
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("errorMessage",exception.getMessage()+"系统将在5秒之后跳转到首页......");
modelAndView.setViewName("error");
return modelAndView;
}
}
@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
@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);
/*
* 根据传递激活码进行用户查询. 如果用户不为空: 修改用户状态 改为1 如果用户为空: 激活码被篡改了.
*/
User activeUser = userService.findByCode(code);
if(activeUser==null){
// model.addAttribute("message", "激活码被篡改了,请重新注册");
throw new zdyException("激活码被篡改了,请重新注册");
}
activeUser.setState(1);
activeUser.setCode(null);
userService.activeUser(activeUser);
model.addAttribute("message", "激活码成功");
return "msg";
}
}
@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);
@Override
public void afterCompletion(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
}
}
public class golbalException implements HandlerExceptionResolver {
public ModelAndView resolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex) {
response.setHeader("content-type", "text/html;charset=UTF-8");
response.setHeader("refresh", "5;url=/shop/index.action");
zdyException exception =null;
if(ex instanceof zdyException){
exception=(zdyException)ex;
}else{
exception.setMessage("发生了未知异常");
}
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("errorMessage",exception.getMessage()+"系统将在5秒之后跳转到首页......");
modelAndView.setViewName("error");
return modelAndView;
}
}
@Controller
public class ProductController {
@Autowired
private ProductService prodcutService;
// 上传图片
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";
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;
}
}
@Controller
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();
}
}
}
@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来分页查询商品
@Controller
public class messageController {
@Autowired
private MessageService messageService;
@RequestMapping("/saveMessage")
public String saveMessage(@RequestParam String messageinfo,HttpServletRequest request,Model model) throws Exception {
Message Message = new Message();
User loginUser = (User) request.getSession().getAttribute("loginUser");
if(loginUser==null){
model.addAttribute("message", "对不起您还没有登录");
return "msg";
}
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Message.setMessage(messageinfo);
Message.setUid(loginUser.getUid());
Message.setMessagedate(sdf.format(new Date()));
messageService.insertMessage(Message);
request.getSession().setAttribute("Message", Message);
return "redirect:/messageList.action?page=1";
}
// 显示留言板全部留言
@RequestMapping("/messageList")
public String messageList(@RequestParam int page, Model model,
HttpServletRequest request) throws Exception {
PageBean<Message> pageBean = messageService.findAllMessageByPage(page);
model.addAttribute("pageBean", pageBean);
return "messageList";
}
}
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 {






更多推荐



所有评论(0)