JavaWeb实验(购物平台)

做一个简单的水果购物平台,要有注册页面、登录页面、购物页面(可以选择商品和数量,商品提前在代码里写好,数量大概四到五个)、结算页面(列出商品+计算总价)、购买成功页面
要求如下:
1、系统必须采用MVC模式实现(要有视图层:login.html等、Servlet层、Model层)
2、JSP可以运用Java程序片
3、数据库的表至少有两个或以上,涉及到多表连接查询的建议通过视图实现,直接查询视图即可
4、模块中要有涉及数据库的两个基本操作:查询、添加、删除、更新皆可
5、系统要有不同的用户类型,至少两种以上,模块要具备一定的安全性。即不同用户访问的权限不同
6、idea版本是2022.3.2,mysql8.0.31,nacivat premium 15

img


可以到gitee中找找,相关资源挺多的。

你是有后台sql文件了?

网上相关资源挺多的,也有不少是提供完整源代码的,你可以多找下,比如
JavaWeb:实现购物商城(课程设计完整版):
https://blog.csdn.net/m0_63512120/article/details/129108284

这年头干啥都得花钱,30买不了商城项目

可以参考下
1.登录和注册

//1.判读用户请求的类型为login
        String method = req.getParameter("type");
        switch (method) {
            case "login":
                // 从 login.html中 拿 账号,密码等数据
                String name = req.getParameter("name");
                String pwd = req.getParameter("pwd");

                //  调用UserBiz的getUser方法,根据 网页中 输入的账号密码,获取相应对象
                User user = userBiz.getUser(name,pwd);

                 //判断 获取到的对象是否为 null;
                 if (user == null) {
                     System.out.println(user);
                     out.println("<script>alert('用户名或密码不存在');location.href = 'login.html';</script>");
                 }else {

                     session.setAttribute("user",user);//user-->Object
                     out.println("<script>alert('登录成功');location.href='/UserShow';</script>");
                 }

                 break;
            case "register" :

                // 从 login.html中 拿 账号,密码等数据
                String name1 = req.getParameter("name");
                String pwd1 = req.getParameter("pwd");
                UserDao userDao = new UserDao();
                try {
                    userDao.setUser(name1,pwd1);
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
                out.println("<script>alert('注册成功');location.href = 'login.html';</script>");
                break;



下面是使用 Spring MVC 实现的一个简单的水果购物平台,包括注册页面、登录页面、购物页面、结算页面和购买成功页面。

  1. 实体类

首先,我们需要定义一个实体类 Fruit ,用于表示水果的信息,包括名称、价格和数量:

public class Fruit {
    private String name;
    private double price;
    private int quantity;
    // 省略 getter 和 setter 方法
}

  1. 控制器

接下来,我们定义一个控制器 FruitController ,用于处理用户的请求。该控制器包括以下几个方法:

  • register() :显示注册页面。
  • doRegister() :处理用户提交的注册信息。
  • login() :显示登录页面。
  • doLogin() :处理用户提交的登录信息。
  • logout() :注销当前用户。
  • shop() :显示购物页面。
  • addToCart() :将商品添加到购物车。
  • checkout() :显示结算页面。
  • confirmPurchase() :确认购买并显示购买成功页面。
@Controller
public class FruitController {
    private List<Fruit> fruits = new ArrayList<>(); // 水果列表
    private Map<String, Integer> cart = new HashMap<>(); // 购物车
     public FruitController() {
        // 初始化水果列表
        fruits.add(new Fruit("Apple", 2.0, 10));
        fruits.add(new Fruit("Banana", 1.5, 20));
        fruits.add(new Fruit("Orange", 3.0, 15));
        fruits.add(new Fruit("Grape", 4.0, 8));
        fruits.add(new Fruit("Watermelon", 10.0, 5));
    }
     @GetMapping("/register")
    public String register(Model model) {
        model.addAttribute("user", new User());
        return "register";
    }
     @PostMapping("/register")
    public String doRegister(@ModelAttribute("user") User user, BindingResult result) {
        // 处理注册信息
        return "redirect:/login";
    }
     @GetMapping("/login")
    public String login(Model model) {
        model.addAttribute("user", new User());
        return "login";
    }
     @PostMapping("/login")
    public String doLogin(@ModelAttribute("user") User user, BindingResult result) {
        // 处理登录信息
        return "redirect:/shop";
    }
     @GetMapping("/logout")
    public String logout(SessionStatus status) {
        status.setComplete();
        return "redirect:/login";
    }
     @GetMapping("/shop")
    public String shop(Model model) {
        model.addAttribute("fruits", fruits);
        model.addAttribute("cart", cart);
        return "shop";
    }
     @PostMapping("/addToCart")
    public String addToCart(@RequestParam String fruitName, @RequestParam int quantity) {
        // 将商品添加到购物车
        return "redirect:/shop";
    }
     @GetMapping("/checkout")
    public String checkout(Model model) {
        model.addAttribute("cart", cart);
        return "checkout";
    }
     @PostMapping("/confirmPurchase")
    public String confirmPurchase() {
        // 确认购买
        cart.clear();
        return "purchaseSuccess";
    }
}

  1. 视图

最后,我们需要定义视图模板,包括注册页面、登录页面、购物页面、结算页面和购买成功页面。这里我们使用 Thymeleaf 模板引擎来渲染视图。

  • 注册页面 register.html :
html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Register</title>
</head>
<body>
<h2>Register</h2>
<form th:action="@{/register}" method="post" th:object="${user}">
    <label>Username:</label>
    <input type="text" th:field="*{username}"/><br/>
    <label>Password:</label>
    <input type="password" th:field="*{password}"/><br/>
    <button type="submit">Register</button>
</form>
</body>
</html>


登录页面

html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
<h2>Login</h2>
<form th:action="@{/login}" method="post" th:object="${user}">
    <label>Username:</label>
    <input type="text" th:field="*{username}"/><br/>
    <label>Password:</label>
    <input type="password" th:field="*{password}"/><br/>
    <button type="submit">Login</button>
</form>
</body>
</html>


可以参考这个实现:https://blog.csdn.net/feng1790291543/article/details/131041229?spm=1001.2014.3001.5502

https://download.csdn.net/download/tangshiyilang/87586732 这个可以满足你的需求