基于javaweb+mysql的springboot+mybatis在线购物商城shop系统(仅前台购物)(java+springboot+ssm+mysql+thymeleaf+html)
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
用户:登录、注册、商品查询与下单、购物车管理
技术框架
HTML CSS JavaScript jQuery LayUI thymeleaf SpringBoot SpringMVC MyBatis
基于javaweb+mysql的SpringBoot+MyBatis在线购物商城shop系统(仅前台购物)(java+springboot+ssm+mysql+thymeleaf+html)
@Controller
@RequestMapping("/userAddress")
public class UserAddressController {
@Autowired
private UserAddressService userAddressService;
@Autowired
private CartService cartService;
@GetMapping("/list")
public ModelAndView list(HttpSession session) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("userAddressList");
User user = (User) session.getAttribute("user");
modelAndView.addObject("cartList", cartService.findAllCartVOByUserId(user.getId()));
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("user_id", user.getId());
modelAndView.addObject("addressList", userAddressService.list(wrapper));
return modelAndView;
}
}
public class UserFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
HttpSession session = request.getSession();
if(session.getAttribute("user") == null){
response.sendRedirect("/login");
}else{
filterChain.doFilter(servletRequest,servletResponse);
}
}
}
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@Autowired
private CartService cartService;
@PostMapping("/register")
public String register(User user, Model model) {
boolean result = false;
try {
if (user.getGenderCode() == 1) {
user.setGender(GenderEnum.MAN);
}
if (user.getGenderCode() == 0) {
user.setGender(GenderEnum.WOMAN);
}
result = userService.save(user);
} catch (Exception e) {
model.addAttribute("error", user.getLoginName() + "已存在!请重新输入!");
return "register";
}
if (result) return "login";
return "register";
}
@PostMapping("/settlement3")
public ModelAndView settlement3(Orders orders, HttpSession session, String address, String remark) {
User user = (User) session.getAttribute("user");
orderService.save(orders, user, "" + address, remark);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("settlement3");
modelAndView.addObject("cartList", cartService.findAllCartVOByUserId(user.getId()));
modelAndView.addObject("orders", orders);
return modelAndView;
}
@GetMapping("/list")
public ModelAndView list(HttpSession session) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("orderList");
User user = (User) session.getAttribute("user");
modelAndView.addObject("list", orderService.findAllOrederVOByUserId(user.getId()));
modelAndView.addObject("cartList", cartService.findAllCartVOByUserId(user.getId()));
return modelAndView;
}
}
@Controller
@RequestMapping("/productCategory")
@GetMapping("/list")
public ModelAndView list(HttpSession session) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("userAddressList");
User user = (User) session.getAttribute("user");
modelAndView.addObject("cartList", cartService.findAllCartVOByUserId(user.getId()));
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("user_id", user.getId());
modelAndView.addObject("addressList", userAddressService.list(wrapper));
return modelAndView;
}
}
public class UserFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
HttpSession session = request.getSession();
if(session.getAttribute("user") == null){
response.sendRedirect("/login");
}else{
filterChain.doFilter(servletRequest,servletResponse);
}
}
}
@Controller
public class RedirectHandler {
@Controller
@RequestMapping("/cart")
public class CartController {
@Autowired
private CartService cartService;
@Autowired
private UserAddressService userAddressService;
@GetMapping("/add/{productId}/{price}/{quantity}")
public String add(
@PathVariable("productId") Integer productId,
@PathVariable("price") Float price,
@PathVariable("quantity") Integer quantity,
HttpSession session
){
Cart cart = new Cart();
cart.setProductId(productId);
cart.setQuantity(quantity);
cart.setCost(price*quantity);
User user = (User) session.getAttribute("user");
cart.setUserId(user.getId());
try {
if(cartService.save(cart)){
return "redirect:/cart/findAllCart";
}
} catch (Exception e) {
return "redirect:/productCategory/list";
}
return null;
}
@GetMapping("/findAllCart")
public ModelAndView findAllCart(HttpSession session){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("settlement1");
User user = (User)session.getAttribute("user");
modelAndView.addObject("cartList",cartService.findAllCartVOByUserId(user.getId()));
return modelAndView;
}
@Autowired
private UserAddressService userAddressService;
@Autowired
private CartService cartService;
@GetMapping("/list")
public ModelAndView list(HttpSession session) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("userAddressList");
User user = (User) session.getAttribute("user");
modelAndView.addObject("cartList", cartService.findAllCartVOByUserId(user.getId()));
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("user_id", user.getId());
modelAndView.addObject("addressList", userAddressService.list(wrapper));
return modelAndView;
}
}
public class UserFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
HttpSession session = request.getSession();
if(session.getAttribute("user") == null){
response.sendRedirect("/login");
}else{
filterChain.doFilter(servletRequest,servletResponse);
}
}
}
@Controller
public class RedirectHandler {
@GetMapping("/{url}")
public String redirect(@PathVariable("url") String url){
@GetMapping("/add/{productId}/{price}/{quantity}")
public String add(
@PathVariable("productId") Integer productId,
@PathVariable("price") Float price,
@PathVariable("quantity") Integer quantity,
HttpSession session
){
Cart cart = new Cart();
cart.setProductId(productId);
cart.setQuantity(quantity);
cart.setCost(price*quantity);
User user = (User) session.getAttribute("user");
cart.setUserId(user.getId());
try {
if(cartService.save(cart)){
return "redirect:/cart/findAllCart";
}
} catch (Exception e) {
return "redirect:/productCategory/list";
}
return null;
}
@GetMapping("/findAllCart")
public ModelAndView findAllCart(HttpSession session){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("settlement1");
User user = (User)session.getAttribute("user");
modelAndView.addObject("cartList",cartService.findAllCartVOByUserId(user.getId()));
return modelAndView;
}
@GetMapping("/deleteById/{id}")
public String deleteById(@PathVariable("id") Integer id){
cartService.removeById(id);
return "redirect:/cart/findAllCart";
}
@GetMapping("/settlement2")
public ModelAndView settlement2(HttpSession session){
ModelAndView modelAndView = new ModelAndView();
@PathVariable("quantity") Integer quantity,
HttpSession session
){
Cart cart = new Cart();
cart.setProductId(productId);
cart.setQuantity(quantity);
cart.setCost(price*quantity);
User user = (User) session.getAttribute("user");
cart.setUserId(user.getId());
try {
if(cartService.save(cart)){
return "redirect:/cart/findAllCart";
}
} catch (Exception e) {
return "redirect:/productCategory/list";
}
return null;
}
@GetMapping("/findAllCart")
public ModelAndView findAllCart(HttpSession session){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("settlement1");
User user = (User)session.getAttribute("user");
modelAndView.addObject("cartList",cartService.findAllCartVOByUserId(user.getId()));
return modelAndView;
}
@GetMapping("/deleteById/{id}")
public String deleteById(@PathVariable("id") Integer id){
cartService.removeById(id);
return "redirect:/cart/findAllCart";
}
@GetMapping("/settlement2")
public ModelAndView settlement2(HttpSession session){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("settlement2");
User user = (User)session.getAttribute("user");
modelAndView.addObject("cartList",cartService.findAllCartVOByUserId(user.getId()));
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("user_id",user.getId());
modelAndView.addObject("addressList",userAddressService.list(wrapper));
return modelAndView;
}
@PostMapping("/update/{id}/{quantity}/{cost}")
@ResponseBody
public String updateCart(
@PathVariable("id") Integer id,
@PathVariable("quantity") Integer quantity,
@PathVariable("cost") Float cost
}
/**
* 登录
*
* @param loginName
* @param password
* @param session
* @return
*/
@PostMapping("/login")
public String login(String loginName, String password, HttpSession session) {
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("login_name", loginName);
wrapper.eq("password", password);
User user = userService.getOne(wrapper);
if (user == null) {
return "login";
} else {
session.setAttribute("user", user);
return "redirect:/productCategory/list";
}
}
/**
* 退出
*
* @param session
* @return
*/
@GetMapping("/logout")
public String logout(HttpSession session) {
session.invalidate();
return "login";
}
/**
* 用户信息
*/
@GetMapping("/userInfo")
public ModelAndView userInfo(HttpSession session) {
User user = (User) session.getAttribute("user");
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("userInfo");
modelAndView.addObject("cartList", cartService.findAllCartVOByUserId(user.getId()));
if(cartService.updateById(cart)){
return "success";
}else{
return "fail";
}
}
}
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@Autowired
private CartService cartService;
@PostMapping("/register")
public String register(User user, Model model) {
boolean result = false;
try {
if (user.getGenderCode() == 1) {
user.setGender(GenderEnum.MAN);
}
if (user.getGenderCode() == 0) {
user.setGender(GenderEnum.WOMAN);
@ResponseBody
public TableDataVO<TableProductVO> findAllTableProduct(Integer page, Integer limit) {
return productService.findAllTableData(page, limit);
}
}
@Controller
@RequestMapping("/cart")
public class CartController {
@Autowired
private CartService cartService;
@Autowired
private UserAddressService userAddressService;
@GetMapping("/add/{productId}/{price}/{quantity}")
public String add(
@PathVariable("productId") Integer productId,
@PathVariable("price") Float price,
@PathVariable("quantity") Integer quantity,
HttpSession session
){
Cart cart = new Cart();
cart.setProductId(productId);
cart.setQuantity(quantity);
cart.setCost(price*quantity);
User user = (User) session.getAttribute("user");
cart.setUserId(user.getId());
try {
public ModelAndView findByKey(String keyWord, HttpSession session) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("productList");
//根据关键字查询
QueryWrapper wrapper = new QueryWrapper();
wrapper.like("name", keyWord);
modelAndView.addObject("productList", productService.list(wrapper));
modelAndView.addObject("list", productCategoryService.getAllProductCategoryVO());
User user = (User) session.getAttribute("user");
if (user == null) {
modelAndView.addObject("cartList", new ArrayList<>());
} else {
modelAndView.addObject("cartList", cartService.findAllCartVOByUserId(user.getId()));
}
return modelAndView;
}
@GetMapping("/findById/{id}")
public ModelAndView findById(@PathVariable("id") Integer id, HttpSession session) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("productDetail");
modelAndView.addObject("product", productService.getById(id));
modelAndView.addObject("list", productCategoryService.getAllProductCategoryVO());
User user = (User) session.getAttribute("user");
if (user == null) {
modelAndView.addObject("cartList", new ArrayList<>());
} else {
modelAndView.addObject("cartList", cartService.findAllCartVOByUserId(user.getId()));
}
return modelAndView;
}
@RequestMapping("/findAllTableProduct")
@ResponseBody
public TableDataVO<TableProductVO> findAllTableProduct(Integer page, Integer limit) {
return productService.findAllTableData(page, limit);
}
}
@Controller
@RequestMapping("/productCategory")
public class ProductCategoryController {
@Autowired
private ProductCategoryService productCategoryService;
@Autowired
private CartService cartService;
@GetMapping("/list")
public ModelAndView list(HttpSession session) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("main");
modelAndView.addObject("list", productCategoryService.getAllProductCategoryVO());
User user = (User) session.getAttribute("user");
if (user == null) {
modelAndView.addObject("cartList", new ArrayList<>());
} else {
modelAndView.addObject("cartList", cartService.findAllCartVOByUserId(user.getId()));
}
return modelAndView;
}
}
return "redirect:/cart/findAllCart";
}
@GetMapping("/settlement2")
public ModelAndView settlement2(HttpSession session){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("settlement2");
User user = (User)session.getAttribute("user");
modelAndView.addObject("cartList",cartService.findAllCartVOByUserId(user.getId()));
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("user_id",user.getId());
modelAndView.addObject("addressList",userAddressService.list(wrapper));
return modelAndView;
}
@PostMapping("/update/{id}/{quantity}/{cost}")
@ResponseBody
public String updateCart(
@PathVariable("id") Integer id,
@PathVariable("quantity") Integer quantity,
@PathVariable("cost") Float cost
){
Cart cart = cartService.getById(id);
cart.setQuantity(quantity);
cart.setCost(cost);
if(cartService.updateById(cart)){
return "success";
}else{
return "fail";
}
}
}
@Controller
@Autowired
private UserAddressService userAddressService;
@Autowired
private CartService cartService;
@GetMapping("/list")
public ModelAndView list(HttpSession session) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("userAddressList");
User user = (User) session.getAttribute("user");
modelAndView.addObject("cartList", cartService.findAllCartVOByUserId(user.getId()));
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("user_id", user.getId());
modelAndView.addObject("addressList", userAddressService.list(wrapper));
return modelAndView;
}
}
public class UserFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
HttpSession session = request.getSession();
if(session.getAttribute("user") == null){
response.sendRedirect("/login");
}else{
filterChain.doFilter(servletRequest,servletResponse);
}
}
}
@Controller
public class RedirectHandler {
modelAndView.setViewName("settlement1");
User user = (User)session.getAttribute("user");
modelAndView.addObject("cartList",cartService.findAllCartVOByUserId(user.getId()));
return modelAndView;
}
@GetMapping("/deleteById/{id}")
public String deleteById(@PathVariable("id") Integer id){
cartService.removeById(id);
return "redirect:/cart/findAllCart";
}
@GetMapping("/settlement2")
public ModelAndView settlement2(HttpSession session){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("settlement2");
User user = (User)session.getAttribute("user");
modelAndView.addObject("cartList",cartService.findAllCartVOByUserId(user.getId()));
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("user_id",user.getId());
modelAndView.addObject("addressList",userAddressService.list(wrapper));
return modelAndView;
}
@PostMapping("/update/{id}/{quantity}/{cost}")
@ResponseBody
public String updateCart(
@PathVariable("id") Integer id,
@PathVariable("quantity") Integer quantity,
@PathVariable("cost") Float cost
){
Cart cart = cartService.getById(id);
cart.setQuantity(quantity);
cart.setCost(cost);
if(cartService.updateById(cart)){
return "success";
}else{
return "fail";
}
}
}
@PathVariable("price") Float price,
@PathVariable("quantity") Integer quantity,
HttpSession session
){
Cart cart = new Cart();
cart.setProductId(productId);
cart.setQuantity(quantity);
cart.setCost(price*quantity);
User user = (User) session.getAttribute("user");
cart.setUserId(user.getId());
try {
if(cartService.save(cart)){
return "redirect:/cart/findAllCart";
}
} catch (Exception e) {
return "redirect:/productCategory/list";
}
return null;
}
@GetMapping("/findAllCart")
public ModelAndView findAllCart(HttpSession session){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("settlement1");
User user = (User)session.getAttribute("user");
modelAndView.addObject("cartList",cartService.findAllCartVOByUserId(user.getId()));
return modelAndView;
}
@GetMapping("/deleteById/{id}")
public String deleteById(@PathVariable("id") Integer id){
cartService.removeById(id);
return "redirect:/cart/findAllCart";
}
@GetMapping("/settlement2")
public ModelAndView settlement2(HttpSession session){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("settlement2");
User user = (User)session.getAttribute("user");
modelAndView.addObject("cartList",cartService.findAllCartVOByUserId(user.getId()));
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("user_id",user.getId());
modelAndView.addObject("addressList",userAddressService.list(wrapper));
return modelAndView;
}
@PostMapping("/update/{id}/{quantity}/{cost}")
@Autowired
private ProductCategoryService productCategoryService;
@Autowired
private CartService cartService;
@GetMapping("/list")
public ModelAndView list(HttpSession session) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("main");
modelAndView.addObject("list", productCategoryService.getAllProductCategoryVO());
User user = (User) session.getAttribute("user");
if (user == null) {
modelAndView.addObject("cartList", new ArrayList<>());
} else {
modelAndView.addObject("cartList", cartService.findAllCartVOByUserId(user.getId()));
}
return modelAndView;
}
}
@Controller
@RequestMapping("/userAddress")
public class UserAddressController {
@Autowired
private UserAddressService userAddressService;
@Autowired
private CartService cartService;